我開發了一個發送短信的API目前有三個MySql表在同一臺服務器上運行(sms_account,sms_number和sms_transaction)。擴展web應用程序
我想使用haproxy來平衡負載並提高性能來拆分多個Web服務器之間的請求,但我真的不知道如何處理它的數據庫部分。我知道我可以在主 - 主方案中創建一個單獨的數據庫集羣,但想知道是否可以做得更好。
我想過有一個主要的集羣數據庫包含與web服務器相同的數據庫。 sms_account和sms_number表只能在這一個上更新,並且這個可以更新web服務器sms_account和sms_number表,因爲這些表不會經常更改。然後我認爲每個web服務器/ mysql實例都可以定期用每個sms_transaction表中的記錄更新master數據庫。
這聽起來有點混亂,但認爲這種方式的數據庫負載將非常低,因爲所有的Web服務器數據庫都將保持小而快,主要可用於計費。
我只想對設計提出第二意見。我認爲在故障情況下,任何Web服務器都可以獨立於其他服務器繼續工作。
Web服務器從字面上記錄事務,就是這樣。沒有複雜的查詢。我可以從主數據庫做報告等。
很多謝謝
羅斯嗨,你確定你需要擴展的MySQL呢? –
可能不會,我會使用多個網絡節點和單個數據庫服務器來提高性能嗎?儘管未來有必要制定計劃是很好的。 – Ross