Docker微容器+微服務將顛覆傳統的軟體架構

banq發表於2014-06-18

從我的觀點看:Docker是一個微容器,一個雲端計算的微PaaS容器,類似JVM但比其更強大的容器,直接基於Linux核心,支援各種語言,它比VM虛擬機器更加輕量,能夠在Linux或雲端計算IaaS等平臺上直接執行,帶著你的應用無縫地移植到各種執行環境。

有人無奈地說:Docker流行起來是因為我們的依賴設計做得不夠到位,最後只能在執行階段依靠Docker這樣的微容器幫我們鬆耦合。

Docker的細粒度鬆耦合能夠讓我們用一個Docker容器裝載一個場景功能,也就是按照功能角色分類,每個Docker裡面裝一個服務或應用,一個伺服器上可以執行多個Docker,系統級別的服務比如Mysql資料庫、Memcache快取 和Nginx等。

參考:使用Docker建立兩個容器的應用

對於我們業務應用系統可以按照微服務進行分類,讓每個Docker中執行一個微服務,這樣,通過分散式叢集Docker微容器,就能夠達到叢集分佈你的微服務。

比如Spring Boot提供了基於Spring的微服務支援,我們可以藉助gradle生成一個Docker image,然後就可以執行在一個Docker容器,這個容器可以帶著Spring應用奔跑在雲平臺 或本地或測試環境都是一樣的。

參考:使用gradle生成Spring Boot應用的Docker Image

由此可見,Docker微容器概念和微服務正好相輔相成,兩者完美結合在一起,好像可以取代原來基於JVM的JavaEE伺服器了,原來的JavaEE一些中介軟體功能被作為庫包與微服務捆綁一起執行,JavaEE其他有關效能擴充套件的功能再也不需要了,因為Docker可以帶著我們的應用執行在以效能擴充套件見長的雲端計算平臺上。

參考:JavaEE應用伺服器死了

Docker比JavaEE伺服器更強的地方在於,它是基於Linux核心,因此可以裝載各種語言應用,毫無疑問是一種嶄新的PaaS微平臺。無怪乎很多人驚呼Docker將顛覆VMware等傳統雲端計算Paas平臺。進而改變整個軟體架構和開發方式。

參考:10個基於DOCKER的頂尖開發工具

相關文章