JPMorgan Chase 的 WePay 用的 MySQL 架構
看到「Highly Available MySQL Clusters at WePay 」這篇講WePay 用MySQL 的設計,本來以為是 WeChat 的服務,仔細看查了之後發現原來是JPMorgan Chase 的服務...
架構在GCP 上面,本來的 MySQL 是使用MHA +HAProxy (patch 過的版本,允許動態改變 pool),然後用 Routes 處理 HAProxy 的 failover。
他們遇到的問題是 crash failover 需要至少 30 分鐘的切換時間,另外就是在 GCP 上面跨區時會有的 network partition 問題...
後續架構變得更複雜,讓人懷疑真的有解決問題嗎 XDDD
改用GitHub 推出的Orchestrator 架構,然後用兩層 HAProxy 導流 (一層放在 client side,另外一層是原來架構裡面的 load balancer),在加上用Consul 更新 HAProxy 的資訊?
思考為什麼會有這樣設計 (考慮到金融體系的背景),其實還蠻有趣的...