大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
原文:https://www.percona.com/blog/2017/05/31/proxysql-assisted-pxc-maintenance-mode/
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册、网络空间、营销软件、网站建设、银海网站维护、网站推广。
作者:Ramesh Sivaraman
在这篇博文中,我们将介绍PXC 维护模式如何使用ProxySQL 使集群节点下线而不影响工作负载
由于PXC提供了高可用的解决方案,它必须考虑到集群节点需要下线维护的情况(通过与集群隔离或完全关闭)
PXC通过引入维护模式实现这一点。PXC的维护模式减少因为突发故障影响工作负载的次数,如果节点是使用ProxySQL下线的(作为负载均衡器)
中心思想是延迟核心节点的动作,并允许ProxySQL转移工作负载
在PXC维护模式下,当用户触发shutdown信号(或者将特定的节点设置为维护模式),ProxySQL将节点标记为OFFLINE
当用户触发了shutdown,PXC节点设置pxc_maint_mode为SHUTDOWN(默认DISABLED)然后sleep x秒(由参数pxc_maint_transition_period决定---默认10s)。ProxySQL 自动检测这个变化并将节点标记为OFFLINE。应用这个改变后,ProxySQL拒绝为任何DML事务建立连接,但已经存在的查询可以继续执行,直到 pxc_maint_transition_period 秒后。一旦休眠期完成,PXC传递一个真正的关闭信号-----从而给了ProxySQL足够的时间转移工作负载
如果用户需要将节点设置为维护模式,可以简单的设置参数pxc_maint_mode 为 MAINTENANCE。随即,pxc_maint_mode 被更新并且客户端连接开始休眠x秒(由 pxc_maint_transition_period 决定)后再把控制权交给用户。ProxySQL 自动检测这个变化并将节点标记为OFFLINE。在这种情况下,ProxySQL避免为任何DML事务建立连接,但已经存在的连接可以继续使用。
ProxySQL 自动检测 维护状态的变化并自动重新路由流量,从而减少了突发性的工作负载故障
技术细节:
ProxySQL Galera checker 脚本(proxysql_galera_checker)通过使用 ProxySQL 调度程序检查pxc_maint_mode参数状态(除了已经存在的wsrep_local_state),持续检测各个节点的状态。
调度程序 是一个集成在ProxySQL中的像计划任务(cron-like)的实现,支持毫秒的粒度
如果 脚本(proxysql_galera_checker)检测到 pxc_maint_mode= SHUTDOWN | MAINTENANCE,然后proxySQL将节点标记为OFFLINE_SOFT。这样可以避免在这个节点新建立连接(或工作负载)
proxysql_galera_checker 日志示例:
Thu Dec 8 11:21:11 GMT 2016 Enabling config Thu Dec 8 11:21:17 GMT 2016 Check server 10:127.0.0.1:25000 , status ONLINE , wsrep_local_state 4 Thu Dec 8 11:21:17 GMT 2016 Check server 10:127.0.0.1:25100 , status ONLINE , wsrep_local_state 4 Thu Dec 8 11:21:17 GMT 2016 Check server 10:127.0.0.1:25200 , status ONLINE , wsrep_local_state 4 Thu Dec 8 11:21:17 GMT 2016 Changing server 10:127.0.0.1:25200 to status OFFLINE_SOFT due to SHUTDOWN Thu Dec 8 11:21:17 GMT 2016 Number of writers online: 2 : hostgroup: 10 Thu Dec 8 11:21:17 GMT 2016 Enabling config Thu Dec 8 11:21:22 GMT 2016 Check server 10:127.0.0.1:25000 , status ONLINE , wsrep_local_state 4 Thu Dec 8 11:21:22 GMT 2016 Check server 10:127.0.0.1:25100 , status ONLINE , wsrep_local_state 4 Thu Dec 8 11:21:22 GMT 2016 Check server 10:127.0.0.1:25200 , status OFFLINE_SOFT , wsrep_local_state 4
翻译的不好,欢迎批评