【PolarDB·专家篇】读写分离·连接保持

「已注销」 2022-03-18 21:58:39

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会与新主节点(即高可用切换后的主节点)重新建立连接并且恢复之前的会话状态,以实现对应用程序端无感知的高可用切换。

·····

更多内容可见:https://help.aliyun.com/document_detail/208142.html

...全文
416 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

52

社区成员

发帖
与我相关
我的任务
社区描述
PolarDB开发者
其他 企业社区
社区管理员
  • csdnsqst0017
  • kikokingzz
  • karina17
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

社区初立,为了鼓励小友们在社区中积极互动,现在有一个活动如下:

试试用AI创作助手写篇文章吧