[WordPress] 高可用性(High Availability)網站的資料庫解決辦法 – HyperDB

當網站要做到這件事的時候,就表示你發了(?)

哈哈,流量大噴發這樣XD 市面上有不少玩法,搜尋「Load Balancer + WordPress」就可以發現一堆文章。

今天這篇純粹解析 WordPress[.]com 的玩法! 靈感來自「他們什麼都開源了,那來找一下他們的方法是什麼吧」,結果找到 HyperDB 這款外掛。

外掛頁面寫著啟用安裝數少於 10 次,真是不知道需求太少還是太過隱密,儘管外掛介面沒有多做使用說明,但如果 Google 一下還是可以找到教學 Scaling WordPress with MySQL Replicas and HyperDB

他透過覆蓋 $wpdb 方法達到在讀取資料庫時切換不同的資料庫,來減輕預設同一個資料庫的讀寫請求壓力,如此就能用這外掛內建設定方法控制,讓 MySQL 主從複寫機制(Master Slave Replication)可以妥善分開讀寫作用,而不需要為了切割讀寫環境大費周章設定特殊存取方法,這對網域綁定的 WordPress 架構來說才是真正的整合!

還有人回應目前功能待加強,所以自己延伸開發了一套 LudicrousDB 。但不論是哪套,這樣把資料庫讀取介面強化的做法延伸後彈性大幅提升,針對資料庫或是資料表都是容易處理的切換,如果是單純閱讀流量太大也無需擔心,算是高可用性探討範圍中好解決的了,靜態化快取、CDN、資料庫主從複寫機制、請求附載平衡(Load Balancer)等技術討論非常普遍,選一套自己負擔(學習時間/使用金額)的起就好。

Facebook 外掛整合


Share: