久久国产精品一区二区三区四区,久色婷婷小香蕉久久,国产日韩欧美在线播放不卡,另类av一区二区

世界即時:故障檢測與網絡分區 | 深入淺出MGR
來源:GreatSQL社區    時間:2022-09-17 08:45:51

本文介紹MGR的故障檢測機制,以及發生網絡分區后如何處理。


(資料圖)

1. 故障檢測

當MGR中個別節點與其他節點通信異常時,就會觸發故障檢測機制,經過多數派節點投票判斷后再決定是否將其驅逐出MGR。

發生故障時,只有當多數派節點存活前提下,故障檢測機制才能工作正常,使得MGR恢復可用性;當多數派節點本身已經異常的時候,MGR是無法自行恢復的,需要人為介入。

MGR中,各節點間會定期交換消息,當超過5秒(在MySQL中是固定5秒,在GreatSQL中新增選項group_replication_communication_flp_timeout?可配置)還沒收到某個節點的任何消息時,就會將這個節點標記為可疑狀態。MGR各正常存活節點會對可疑節點每隔15秒檢測一次(在GreatSQL中,調整為每隔2秒檢測,效率更高,下面再介紹),當確認可疑節點在超過group_replication_member_expel_timeout秒超時閾值后,再將該節點驅逐出MGR。

需要注意的是,選項group_replication_member_expel_timeout?從MySQL 8.0.21開始,默認值為5。在MySQL 8.0.21之前,默認值為0。在 <= MySQL 8.0.20 的版本中,group_replication_member_expel_timeout默認值為 0,也就是當某節點被判定為可疑狀態后,會被立即驅逐。在MySQL 5.7中,沒有該選項,行為模式也是一樣的。

在MySQL中,MGR故障檢測是由獨立線程來完成的,該線程每隔15秒(MySQL在源碼中硬編碼定義了SUSPICION_PROCESSING_THREAD_PERIOD = 15)進行一次檢查。因此,節點發生故障時,極端情況下,可能要耗費 5(5秒沒發送消息,被判定為可疑節點) + 15(SUSPICION_PROCESSING_THREAD_PERIOD) + 5(group_replication_member_expel_timeout) = 25秒 才能驅逐該節點。最好的情況下,最快 5 + 5 = 10秒 后即可驅逐該節點。

在GreatSQL中對此進行了優化,新增選項group_replication_communication_flp_timeout?(默認值5,最小3,最大60) 用于定義節點超過多少秒沒發消息會被判定為可疑。此外,還修改了硬編碼SUSPICION_PROCESSING_THREAD_PERIOD = 2?,也就是故障檢測線程每2秒(而非15秒)就會檢查一次。因此在GreatSQL中,最快5(group_replication_communication_flp_timeout) + 5(group_replication_member_expel_timeout) = 10秒?完成驅逐,最慢5 + 5 + 2(SUSPICION_PROCESSING_THREAD_PERIOD) = 12秒完成驅逐。

在網絡條件不好的情況下,建議適當加大 group_replication_member_expel_timeout 值,避免網絡波動造成節點頻繁被驅逐。不過也要注意另一個風險,見這篇文章所述:技術分享 | 為什么MGR一致性模式不推薦AFTER

存活的節點會把被驅逐的節點從成員列表中刪除,但被驅逐的節點自身可能還沒“意識”到(可能只是因為臨時短時間的網絡異常),在狀態恢復后,該節點會先收到一條包含該節點已被驅逐出MGR的新視圖信息,而后再重新加入MGR。被驅逐的節點會嘗試group_replication_autorejoin_tries次重新加入MGR。

選項group_replication_exit_state_action?定義了被驅逐節點之后的行為模式,默認是設置為super_read_only = ON,進入只讀模式。

2. 少數派成員失聯時

當集群中的少數派成員失聯時(Unreachable),默認不會自動退出MGR集群。這時可以設置group_replication_unreachable_majority_timeout?,當少數派節點和多數派節點失聯超過該閾值時,少數派節點就會自動退出MGR集群。如果設置為0,則會立即退出,而不再等待。節點退出集群時,相應的事務會被回滾,然后節點狀態變成ERROR,并執行選項group_replication_exit_state_action?定義的后續行為模式。如果設置了group_replication_autorejoin_tries,也會再自動嘗試重新加入MGR集群。

3. 多數派成員失聯時

當多數派節點也失聯時(Unreachable),例如在一個3節點的MGR集群中,有2個節點失聯了,剩下的1個節點不能成為多數派,也就無法對新事務請求做出決策,這種情況就是發生了網絡分區(腦裂)。也就是一個MGR集群分裂成兩個或多個區域,也因此缺少多數派,這種情況下,MGR集群無法提供寫入服務。

此時需要人工介入,通過設置group_replication_force_members?強行指定新的成員列表。例如MGR集群由3個節點組成,其中兩個節點都意外失聯了,僅剩一個節點存活,此時就需要手動設置group_replication_force_members強行指定成員列表,也就是只有最后存活的節點。

兩個重要提醒:

使用該方法基本上是最后迫不得已的選擇,因此需要非常謹慎。若使用不當,可能會造成一個人為的腦裂場景,或者造成整個系統被完全阻塞。也有可能會選錯新的節點列表。 強制設定新的節點列表并解除MGR阻塞后,記得再將該選項值清空,否則無法再次執行START GROUP_REPLICATION。

4. Xcom cache

當有節點處于可疑狀態時,在它被確定踢出MGR集群之前,事務會緩存在其他節點的Xcom cache中。這個cache對應選項group_replication_message_cache_size。當可疑節點短時內又恢復后,就會先從Xcom cache中讀取記錄進行恢復,然后再進行分布式恢復。因此,在網絡不太穩定或并發事務較大,且物理內存也足夠的場景里,可以適當加大Xcom cache size;反之,在物理內存較小,或者網絡較為穩定的場景里,不應設置太大,降低發生OOM的風險。

在MySQL 5.7里,Xcom cache size最大值1G,且不可動態調整。從MySQL 8.0開始,可對其動態調整。在 <= MySQL 8.0.20的版本中,最小值1G。在>= MySQL 8.0.21的版本中,最小值128M。

可以執行下面的SQL查看當前Xcom cache消耗情況:

[root@GreatSQL]> SELECT * FROM performance_schema.memory_summary_global_by_event_name WHERE EVENT_NAME LIKE ‘memory/group_rpl/GCS_XCom::xcom_cache";

在MySQL中,是動態按需分配Xcom cache的,如果太多有空閑,就釋放;如果不夠用,再動態分配更多內存,一次分配大概250000個cache item,很容易造成約150ms的響應延遲。也就是說,會隨著事務多少的變化而可能頻繁產生響應延遲。

在GreatSQL中,對Xcom cache采用了靜態化分配機制,即一開始就預分配約1GB內存用于xcom cache,這可以避免前面提到的響應延遲抖動風險,不過“副作用”是mysqld進程所占用的內存會比原來多,在內存特別緊張的服務器上不太適合。

5. 網絡分區

在MGR里,事務是需要經過多數派節點達成一致性共識(要么都提交,要么都回滾)。同樣的,前面提到的節點間通信消息也是需要在多數派節點間達成共識。當MGR中的多數派節點失聯時,就無法就此形成共識,也無法滿足多數派投票/仲裁要求,此時MGR將拒絕寫事務請求。這種情況,也稱為網絡分區,及一個MGR集群分裂成兩個或多個分區,彼此間相互無法連通,任何一個分區中的節點都不能達成多數派。

可能Primary節點會因為網絡分區時被踢出MGR集群,它在重新加回時,可能會因為本地有此前還沒來得及同步到其他節點的事務,而造成本地有更多事務,會報告類似下面的錯誤:

This member has more executed transactions than those present in the group. Local transactions: xx:1-300917674 > Group transactions: xx:1-300917669

此時需要人工介入處理,選擇哪個節點作為最新的Primary節點。

6. 小結

本文介紹了MGR的故障檢測機制、Xcom cache,什么是網絡分區,以及發生故障時都有什么影響,如何恢復故障等。

參考資料、文檔

MySQL 8.0 Reference Manual(https://dev.mysql.com/doc/refman/8.0/en/group-replication.html)

數據庫內核開發 - 溫正湖(https://www.zhihu.com/column/c_206071340)

Group Replication原理 - 宋利兵(https://mp.weixin.qq.com/s/1iO-KISAU1HLSzEVLrxG9g)

關鍵詞: 故障檢測 發生故障 行為模式 成員列表

上一篇:

下一篇:

X 關閉

X 關閉

久久国产精品一区二区三区四区,久色婷婷小香蕉久久,国产日韩欧美在线播放不卡,另类av一区二区
欧美日韩在线免费观看| 国产一区二区三区免费不卡| 国内精品国产成人| 欧美日韩综合久久| 亚久久调教视频| 在线播放国产一区中文字幕剧情欧美| 亚洲激情另类| 久久xxxx| 国产日韩精品在线播放| 91久久精品国产91久久| 狠狠做深爱婷婷久久综合一区| 国产美女诱惑一区二区| 久久国产视频网站| 久久国产欧美| 欧美午夜理伦三级在线观看| 亚洲激情av| 夜夜嗨av一区二区三区网站四季av| 一区二区三区精品久久久| 亚洲欧美在线磁力| 野花国产精品入口| 蜜臀av性久久久久蜜臀aⅴ四虎| 在线精品国产欧美| 国内精品免费在线观看| 国户精品久久久久久久久久久不卡| 亚洲国产精品综合| 亚洲日本乱码在线观看| 久久精品亚洲| 亚洲人成网站在线观看播放| 欧美激情一区二区三区四区| 国产自产女人91一区在线观看| 亚洲一区在线免费观看| 欧美久久成人| 亚洲第一福利在线观看| 欧美激情中文字幕一区二区| 久久久久亚洲综合| 欧美网站在线观看| 亚洲欧美在线高清| 最新国产拍偷乱拍精品| 亚洲私拍自拍| 欧美黄色免费| 老司机免费视频一区二区三区| 国产一区二区三区av电影| 韩日欧美一区二区| 国产午夜精品美女视频明星a级| 午夜天堂精品久久久久| 亚洲缚视频在线观看| 亚洲六月丁香色婷婷综合久久| 亚洲欧美日韩在线高清直播| 久久久精品国产一区二区三区| 国产欧美日韩综合一区在线播放| 亚洲天堂av在线免费观看| 久久精品夜夜夜夜久久| 欧美jizzhd精品欧美喷水| 亚洲综合第一| 国产区二精品视| 午夜亚洲福利在线老司机| 国产偷国产偷亚洲高清97cao| 免费永久网站黄欧美| 香蕉视频成人在线观看| 欧美性做爰猛烈叫床潮| 日韩亚洲精品视频| 欧美日韩亚洲国产一区| 欧美日本在线观看| 性欧美大战久久久久久久久| 欧美色播在线播放| 久久国产精品亚洲va麻豆| 久久综合一区| 久久一综合视频| 极品中文字幕一区| 黄色欧美日韩| 亚洲福利视频二区| 亚洲国产成人久久| 亚洲午夜精品福利| 国产喷白浆一区二区三区| 久久视频免费观看| 在线免费观看视频一区| 老司机凹凸av亚洲导航| 欧美精品精品一区| 国产精品美女黄网| 亚洲二区三区四区| 国产一区二区日韩| 国产网站欧美日韩免费精品在线观看| 国产精品实拍| 国产色婷婷国产综合在线理论片a| 国产欧美日韩视频一区二区| 欧美激情五月| 亚洲国产综合在线看不卡| 老司机免费视频一区二区| 国产亚洲欧美日韩在线一区| 在线日本高清免费不卡| 久久综合一区二区三区| 久久午夜羞羞影院免费观看| 一区二区三区精密机械公司| 久久精品一区二区三区中文字幕| 亚洲第一成人在线| 国产伦精品一区二区三区视频黑人| 欧美亚洲成人网| 欧美日韩免费在线观看| 欧美日韩国产精品一卡| 亚洲人成欧美中文字幕| 欧美色区777第一页| 久久久噜噜噜久久狠狠50岁| 欧美成人情趣视频| 揄拍成人国产精品视频| 久久人人爽人人爽| 日韩亚洲欧美成人| 国内成人精品一区| 亚洲一区二区三| 国产一区二区电影在线观看| 亚洲视频在线观看三级| 日韩一级大片| 国产精品视频在线观看| 亚洲丝袜av一区| 亚洲香蕉在线观看| 国产美女在线精品免费观看| 国产精品日韩欧美大师| 久久久久久久尹人综合网亚洲| 美女尤物久久精品| 国产欧美视频在线观看| 日韩视频一区二区三区在线播放| 裸体素人女欧美日韩| 亚洲欧洲精品天堂一级| 国产精品久久久久77777| 黑人操亚洲美女惩罚| 亚洲午夜伦理| 99精品福利视频| 亚洲国产老妈| 99在线观看免费视频精品观看| 欧美日韩国产一区| 另类激情亚洲| 一本久久知道综合久久| 亚洲午夜国产一区99re久久| 国产亚洲福利一区| 免费在线看成人av| 国产精品一区久久久久| 欧美在线观看日本一区| 宅男噜噜噜66国产日韩在线观看| 国产嫩草一区二区三区在线观看| 欧美日韩国产区一| 欧美伦理91| 嫩草国产精品入口| 亚洲电影免费观看高清完整版在线| 欧美插天视频在线播放| 久久裸体艺术| 欧美性开放视频| 欧美精品123区| 国产一区二区三区av电影| 免费成人小视频| 亚洲精品国产视频| 亚洲午夜精品网| 国产精品日韩欧美综合| 亚洲日韩欧美视频一区| 亚洲女人小视频在线观看| 一本久久精品一区二区| 久久青青草原一区二区| 国产亚洲激情在线| 亚洲国内欧美| 国产精品高清在线| 国产精品盗摄一区二区三区| 欧美日韩一区二区高清| 一本久道久久综合狠狠爱| 亚洲一区国产一区| 韩日午夜在线资源一区二区| 在线一区二区三区做爰视频网站| 欧美日韩一区三区四区| 欧美日韩精品不卡| 欧美一区二区在线视频| 亚洲国产精品久久久久秋霞影院| 欧美成人高清视频| 久久精品中文字幕一区二区三区| 国产精品www994| 美女视频一区免费观看| 欧美日韩不卡合集视频| 国产一区二区中文字幕免费看| 一区视频在线看| 欧美日韩免费观看一区=区三区| 欧美深夜福利| 亚洲人成7777| 久久久综合网| 日韩视频在线观看| 亚洲午夜影视影院在线观看| 老司机精品视频网站| 国产一区二区三区在线观看网站| 看片网站欧美日韩| 久久精品欧美| 又紧又大又爽精品一区二区| 亚洲天堂成人| 亚洲一区不卡| 夜夜嗨av一区二区三区中文字幕| 久久一区二区三区四区五区| 久久亚洲综合网| 久久精品国产久精国产思思| 久久天堂av综合合色| 在线欧美日韩国产| 欧美精品久久一区| 欧美日韩精品在线视频| 亚洲午夜精品网| 亚洲欧美日韩成人高清在线一区| 一区二区视频欧美| 欧美日韩国产精品|