Docker微容器+微服务将颠覆传统的软件架构

 

从我的观点看: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平台。进而改变整个软件架构和开发方式。

 

 

 

 

原文

posted @ 2019-04-11 17:55  panchanggui  阅读(344)  评论(0编辑  收藏  举报