Postgresql
將內容插入中國時的延遲問題
背景
我們有一個應用程序將寫入託管在法蘭克福數據中心的 postgres 數據庫。該應用程序安裝在我們在世界各地的 8 個站點中,分別來自中國、韓國、印度、德國、法國和墨西哥。
在歐洲連接到法蘭克福數據庫時,響應時間很好。但是,當從中國北部連接時,響應時間很慢。中國長城防火牆正在延遲響應時間,此外,距離是一個決定性因素。
我們決定在韓國為我們的亞洲網站建立第二個數據庫。韓國和中國網站上的應用程序將提供韓國數據庫。它極大地減少了延遲並且像一個魅力一樣工作。
問題是無法在韓語數據庫和德語數據庫之間複製數據,因為不允許雙向複製。
我們現在又回到了原點,因為我們不確定要採取什麼步驟,因為我們只需要一個數據庫,但我們想要體面的響應時間。我們不想重寫應用程序。
問題:
- 我們想要一個解決方案,在這個解決方案中,我們可以為世界各地的每個站點託管一個數據庫,並且有適當的響應時間。除了 RDS,我們還能看到哪些其他解決方案?
- 如果我們繼續使用 RDS,是否有一個數據中心可以為全世界管理體面的時間響應?
不確定這是否適合提出這個問題。如果沒有,請發表評論,我將刪除該問題。
距離和乾預中間盒都會增加延遲,這是無法避免的。
可能有其他位置可以以可接受的延遲妥協來託管數據庫。不過,這麼長的延遲會損害響應時間。繼續測試。
我了解 PostgreSQL 存在多主複製解決方案。這不會出現在您目前的軟體中,也可能不會包含在雲產品中。它會受益於經驗豐富的 DBA,比一個實例更複雜、風險更大。
或者讓客戶靠近一點。通過遠端桌面或數據庫本地的 VDI 託管。當查詢的載入時間大大改善時,界面緩慢可能是可以容忍的。
最後,更改應用程序,儘管這很不吸引人。至少分析查詢的數量,以便知道網路時間量。減少這些可能會取得勝利。更困難的是重新考慮設計,可能從副本讀取查詢但寫入到主數據庫。