Amazon-Web-Services
每個數據庫需要 1 個 RDS 集群,還是所有數據庫都需要一個 RDS 集群?
假設我有 5 個數據庫要在我的應用程序中使用。該應用程序將被 +100k 使用者使用。我計劃將 RDS 集群與 Aurora PostgreSQL 一起使用。什麼是最好的?
為每個數據庫創建 1 個集群,我最終會得到 5 個集群,我認為這對性能有好處,但成本更高。
或者
創建一個具有足夠資源(CPU、RAM 等)的單個集群,其中將包含 5 個數據庫。
簡單的回答:這取決於. :)
這取決於數據庫的相互依賴程度。如果每個都由其服務或微服務獨立使用,並且您有一些自動化來配置微服務,那麼通常建議將整個微服務(計算 + 數據庫 + 儲存)劃分並使其完全獨立於其他微服務。它更適合 DevOps 模型,其中開發人員不僅負責程式碼部署,還負責數據庫和儲存。
但在現實世界和/或單體應用程序和/或只有 1 個開發團隊的情況下,數據庫通常是共享的。這是一種舊的內部部署思維方式,公司為中央 Oracle RAC 以及為保持燈火通明的 DBA 大軍支付巨額資金。
沒有正確的答案 - 擁有單獨的數據庫更“現代”,但如果額外的成本和復雜性不能保證它,那麼一定要使用共享數據庫。正如蒂姆所說 - 對性能進行基準測試。