0
我想實現的架構是類似coreos的生產架構(如下圖所示)在集裝箱式集羣中,mongodb服務器應該在工作人員還是核心服務上運行?
我應該運行數據庫爲中心的服務或一個或多個工人?
我想數據庫需要某種複製,這讓我認爲把它放在工作集羣中更有意義,但我只是不確定。
我想實現的架構是類似coreos的生產架構(如下圖所示)在集裝箱式集羣中,mongodb服務器應該在工作人員還是核心服務上運行?
我應該運行數據庫爲中心的服務或一個或多個工人?
我想數據庫需要某種複製,這讓我認爲把它放在工作集羣中更有意義,但我只是不確定。
這應該作爲一名工人來運行。中央服務是CoreOS的基本功能(主要是etcd)。工作人員託管您的應用程序,數據庫就是其中之一。您確實存在持久性問題,因爲您的數據庫在重新啓動之間需要記住狀態。那麼,你如何實現這種持久性存在更大的問題?一種方法是使用主機文件,併爲數據庫提供與該主機的關聯並掛載主機文件。另一件你可能會考慮的事情是運行多個數據庫(如果你的數據庫技術支持這個數據庫)並複製該數據庫,以便在不同的工人中有兩個(或更多)副本。 (非親合性)。如果您的數據庫創建可應用於備份的事務日誌,則可以管理員工中的這些事務日誌。
要考慮的另一件事是不使用數據庫的容器。該數據庫是一個奇怪的動物,其照料和餵養不像其他應用程序。因此,在您的羣集範圍之外管理和維護您的數據庫是合理的(在我看來)(但仍然可以通過羣集訪問)。