2018/06  更新

GCP修改了 Cloud SQL的HA機制說明

連結點我

主要就是多了一項

Master 60秒沒有回應時,將會啟動 Failover

總算是有達到基本的要求了,期待可以越來越完善

 

—————————–以下為原文—————————–

其實這篇算是發牢騷,一個簡單的抱怨

希望GCP能快點修改這種不成熟的HA

以往在AWS RDS上的HA機制是

當Master fail,背後的HA Server 會Switch上去

而GCP SQL 上的HA機制是

當Master fail,另一台HA Server 會跟你講

不會觸發,是的你沒看錯,HA Server不會甩你

然後官方文件跟你說觸發條件是

Failover is triggered when the zone where the master is located experiences an outage. If your master instance is experiencing issues not caused by a zone outage, a failover is not initiated.

不想貼google翻譯的話,小弟幫各位翻譯

如果你的Master在A區,Failover在B區,要A區掰掰了才會觸發

如果是A區你的Master掛了,請自求多福,看著B區那台Failover在笑你…

 

好吧,這就是問題,目前GCP給的回覆是無解,但會排入更新時程

請有使用SQL的朋友多保重…

 

另一個MA問題是,如果你的Master設定為 假設週一07:00-08:00 維護

你開了Failover與readonly的時候,你會發現這三台的MA Time

全部被鎖定跟Master相同

翻成白話文的意思,就是MA Time一到,你的DB全部會被重啟

搭配上述的HA機制….你應該保佑你公司的服務不是7*24小時…

或是程式端最好寫好一點…

三經半夜設定MA Time的,自求多福吧