2017-03-01 15 views
0

我需要將我的單個單一應用程序解耦爲「微服務」,並且每個模塊都是(應用程序服務器+數據庫)的組合。哪個平臺主要用於生產服務器來開發和部署「應用程序服務」

想知道出這個

  • 流浪
  • OpenVZ的
  • 泊塢的(不是優選的選擇,因爲它合乎理不支持數據的持久性)

哪一個是在生產服務器使用?

+3

這是一個廣泛的問題,不是嗎? – jbird

+0

@jbird它是,但作爲流浪者清楚地提到它用於開發環境「https://www.vagrantup.com」(「創建和配置輕量級,可重複,和可移植的開發環境。),是否用於滿足我需求的生產服務器?,自從一年以來,我一直使用openVZ作爲測試設置,它的工作原理完美無瑕。沒有人甚至談到了這個部署困惑我的服務:(我的問題歸結爲基於CRUD的數據持久化服務如何部署在現實世界中?:)這需要穩定性和易擴展性。 –

+0

數據持久性通常不被期望,因爲它會引入一個狀態 – hek2mgl

回答

1

TL; DR: Docker和RKT是企業選擇,Docker有更廣泛的社區,關注和推動。

首先,Docker支持數據持久性。您可以通過卷很容易地做到這一點,並有很多可用於不同存儲後端的驅動程序。

碼頭工人理念:微服務。

谷歌在2000年代開始使用容器,很多企業今天在重負載下使用容器。 Docker是最好的實現之一。因此,根據您的需要和環境,絕對是碼頭工。

放浪是發展環境。你甚至可以在裏面使用docker,或者沒有流浪的本地docker。

OpenVZ專注於設置手動裝飾自己的VPS容器。因此,他們爲空的linux機器提供模板,您可以啓動和關閉模板,然後SSH進入,自己設置它們,像LAMP堆棧一樣。

OpenVZ vs Docker:OpenVZ將容器視爲VPS,而Docker將容器視爲應用程序/服務。所以無疑是微服務的碼頭工人。

RKT,功能上docker都類似於rkt;然而,與「Docker Images」一起,rkt也可以下載並運行「App Container Images」(ACI)。除了支持ACI之外,rkt還有一個完全不同的體系結構,其設計考慮了可組合性和安全性。

RKT沒有集中的「初始化」守護程序,而不是直接從客戶端的命令發射容器,使其與初始化系統,如systemd,新貴和其他兼容。

rkt使用標準的Unix組權限來允許不同操作之間的權限分離。一旦rkt數據目錄設置正確,容器映像下載和簽名驗證就可以作爲非特權用戶運行。

enter image description here

+0

感謝您的答案,碼頭似乎是一開始的解決方案,但從https://thehftguy.com/2016/11/01/docker-in-production-一個歷史的失敗/,https://blog.abevoelker.com/why-i-dont-use-docker-much-anymore/,我很懷疑,想要跳過碼頭工人,想知道是否有任何碼頭工人的其他穩定替代品? –

+0

提及Docker的數據持久性支持+1 – rocksteady

+0

@ forum.test17用rkt更新了答案。 –

相關問題