【PolarDB·专家篇】读写分离·连接保持
PolarDB新增支持连接保持功能,避免由于一些运维操作(如升级配置、主备切换或升级小版本等)或非运维操作故障(如节点所在服务器故障)导致的连接闪断或新建连接短暂失败的问题,进一步提高PolarDB的高可用性。
前提条件
- PolarDB数据库代理(PolarProxy)版本需为2.4.7或以上。
说明 若2.4.7之前版本需使用连接保持功能,请提交工单联系技术支持。
- 集群版本需为PolarDB MySQL引擎5.6、5.7或8.0版本且产品系列为集群版。
背景信息
PolarDB已通过高可用组件实现了主节点出现故障时快速进行主备切换,来提供高可用的集群服务。但此类切换过程会对应用程序服务造成影响,导致连接闪断、新建连接短暂失败等问题。引起应用程序服务短暂不可用的场景通常分为如下两种:
- 计划内(Switchover):即由数据库控制台或后台管控发起的各种运维操作,如升级配置、自动/手动主备切换或升级小版本等。
- 计划外(Failover):其它非运维操作引起的故障,比如主节点崩溃,节点所在的主机出现故障等。
通常的解决办法是重启应用程序或保证应用程序具备重连机制,但由于开发周期等原因,在开发设计应用程序的前期可能并未考虑到该问题,导致出现大量的非预期行为甚至应用程序的服务不可用。因此PolarDB新增支持连接保持功能,避免由于一些运维操作或非运维操作故障导致的应用程序服务短暂不可用问题,进一步提高PolarDB集群的高可用性。
实现原理
从连接建立的角度看,PolarDB中的一个会话(Session)包含了一个前端连接(即应用程序和Proxy的连接)和一个后端连接(即Proxy和后端数据库节点的连接)。开启连接保持功能后,当Proxy与旧主节点(即高可用切换前的主节点)连接断开时,Proxy与前端应用的连接保持不断(即应用程序看到的Session),同时Proxy会与新主节点(即高可用切换后的主节点)重新建立连接并且恢复之前的会话状态,以实现对应用程序端无感知的高可用切换。
·····
相关推荐
深度揭秘POLARDB新版本.pdf
【深度揭秘POLARDB新版本】是阿里云资深技术专家封仲淹对于阿里云自研的云原生数据库——POLARDB的最新解读。
云原生数据库PolarDB产品技术 —— 之弹性技术实践
此外,PolarDB架构还包括默认集群Endpoint和用户自定义的Endpoint,通过网络层的VPC和经典内网配置,配合VIP(虚拟IP)和代理层的读写分离/负载均衡以及连接保持和数据加密,构建了一个高效且安全的数据库访问环境
polardb-jdbc18.zip
3.2 建立连接使用`java.sql.DriverManager.getConnection()`方法建立与PolarDB的连接,传入相应的URL、用户名和密码。
阿里巴巴自研PolarDB使用教程.pdf
数据库连接:用户可以通过多种方式连接PolarDB数据库,例如使用命令行工具、图形界面工具以及各种编程语言的数据库连接库。3.
阿里云自研数据库POLARDB解读.pptx
**产品架构**: - **读写分离**:POLARDB采用读写分离的架构,支持大容量OLTP(在线事务处理)数据处理,确保在高并发环境下依然能保持高效读写性能。


