polardb集群 多节点 存在主节点变化的情况 java或python客户端应该怎么连接?(不引入中间件的情况 有现成的jdbc之类的吗)
1、一版推荐使用使用开源ProxySQL构建PolarDB-X标准版高可用路由服务,可参考:
https://developer.aliyun.com/article/1516987
2、客户不太希望使用中间件方案,但实际上,不管哪种方案都需要处理几个问题:
(1)、集群信息发现能力。
jdbc 首先需要找到集群的信息。过往 jdbc 只需要一个连接串,对集群状态是无感知的。这样有许多好处,可以对应用端屏蔽掉许多集群的细节,好比集群节点变化了,连接串可以不动,而集群内部漂移一下 VIP,对应用端非常友好。
(2)、集群变化探测能力
jdbc 需要探测集群节点的变化。在请求路径下这个代价是非常高昂。
(3)、整合集群协议能力
jdbc 需要深度参与选举协议,来处理脑裂等等一系列的问题
所以即便通过开发一个jdbc 包来处理主节点变化场景问题,可能和使用中间件,在使用和体验上没有什么区别,甚至可能性能会有损失
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
PolarDB 是阿里云自研的云原生数据库产品家族,采用存储计算分离、软硬一体化设计,既拥有分布式设计的低成本优势,又具有集中式的易用性,可满足大规模应用场景需求。 2021年,阿里云先后宣布PolarDB PostgreSQL版与PolarDB分布式版开源,并持续推动开源版本迭代和演进,助力开发者通过开源版本快速使用阿里云数据库产品技术,并参与产品迭代中来。 开源历程参见:OpenPolarDB.com/about