您好,登錄后才能下訂單哦!
原文: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 日志示例:
<span >Thu Dec 8 11:21:11 GMT 2016 Enabling config</span> <span >Thu Dec 8 11:21:17 GMT 2016 Check server 10:127.0.0.1:25000 , status ONLINE , wsrep_local_state 4</span> <span >Thu Dec 8 11:21:17 GMT 2016 Check server 10:127.0.0.1:25100 , status ONLINE , wsrep_local_state 4</span> <span >Thu Dec 8 11:21:17 GMT 2016 Check server 10:127.0.0.1:25200 , status ONLINE , wsrep_local_state 4</span> <b>Thu Dec 8 11:21:17 GMT 2016 Changing server 10:127.0.0.1:25200 to status OFFLINE_SOFT due to SHUTDOWN</b> <span >Thu Dec 8 11:21:17 GMT 2016 Number of writers online: 2 : hostgroup: 10</span> <span >Thu Dec 8 11:21:17 GMT 2016 Enabling config</span> <span >Thu Dec 8 11:21:22 GMT 2016 Check server 10:127.0.0.1:25000 , status ONLINE , wsrep_local_state 4</span> <span >Thu Dec 8 11:21:22 GMT 2016 Check server 10:127.0.0.1:25100 , status ONLINE , wsrep_local_state 4</span> <b>Thu Dec 8 11:21:22 GMT 2016 Check server 10:127.0.0.1:25200 , status OFFLINE_SOFT , wsrep_local_state 4</b>
翻譯的不好,歡迎批評
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。