我有一個應用程序,每個用戶都有自己的數據庫。這適合於橫向擴展,因爲很容易啓動另一臺數據庫服務器。如何使用mysql水平縮放
我正在努力的部分是如何識別用戶數據庫/帳戶所連接的數據庫服務器。
以下是可能的解決方案我想出了:
- 創建用戶名映射查找表 - >數據庫服務器上的數據庫服務器中的一個。確保將此查詢編入索引以消除任何性能問題。
優點:易於實施
缺點:還有1點故障。如果數據庫服務器持有的用戶名 - >數據庫關係出現故障,那麼應用程序將停止爲所有用戶工作
- 創建映射的用戶名的文本文件 - >數據庫名稱
優點:漂亮的易於實施和相當快。
缺點:保持跨服務器同步的問題。在讀取時寫入文件的併發問題。寫一個小小的錯誤,可能會導致一切下降
什麼是這樣的最佳做法?
您可以在所有數據庫服務器上使用選項1並執行主 - 主複製。 – iamsleepy