我們必須在6個AWS地區運行的服務,我們有一些前提條件應滿足:AWS讀副本架構
- 查詢數據庫必須很低
- 它支持潛伏期查詢的吞吐量很高
- 據觀察,數據庫更新過程是IO密集型的,所以它增加了由於數據庫鎖定導致的查詢延遲。
- 時滯在秒的量級是更新之間可接受的,並且讀
,我們討論了具有一個服務,更新每個區域中的主DB和一個從(6個從站總數)的體系結構。
我們發現有一些問題和一些可能的解決方案:
- 沒有使用AWS基礎設施5個讀取副本的限制。
爲了解決這個問題,我們雖然創建了只讀副本的只讀副本。這應該給我們25個實例。
- AWS中存在限制,您無法從其他區域創建只讀副本的只讀副本。
爲了解決這個問題,我們儘管在應用程序內部更新了2個主數據庫。
- 此方法會產生一個問題,即一段時間內數據庫可能不一致。
在服務實現中,我們總是可以重新創建數據。因此,有一項工作需要重新更新數據(這是更新IO密集型的原因之一)。
任何人都有類似的問題?你如何處理它?我們可以避免自己創建和維護數據庫嗎?
我們正在使用MySQL,但我們非常樂意使用其他兼容的數據庫。
1用於緩存;我使用redis的彈性緩存,易於使用且性能卓越 –