Docker容器是一种类似EJB的新组件

Docker作为一种容器其实是一种新的组件,容器概念历来已久,早在90年代末,我们知道BEA系统,我们有相似的中间件和分布式系统背景。Docker非常类似那时的ejb容器。

EJB容器已经被Docker这样新的组件概念替代,包括打包和运行时的系列生态系统管理工具。

我们看到了中间件和分布式系统的一致性演绎路径:Tuxedo 事务, CORBA对象, Java EJB, SOA服务和新的Docker容器.

从表面上看,好像是历史在重演,其实这是一个增量迭代的过程,也就是否定之否定的螺旋上升过程。

新的微服务架构强大优点是其服务之间(也就是容器之间)的合约简单化(相比EJB),还包括服务的容器(主机)之间协议也简单了。

和EJB相比灵活性提高了:软件的虚拟化和碎片化(特别是Linux版本很多)都可以作为架构的一个组件了,无需考虑编程语言或其内部实现,EJB manifest文件变成Dockerfile,这些配置清单文件中可以让服务的作者打包任何不同语言编制的软件。

当然,相比EJB以前都是由指导委员会和标准指导,这种灵活性也可能变成自己的致命弱点。由标准指导能获得稳定的推广采用,而现在似乎是相反的情况。有无数的管理服务解决方案。不过,潜在用户可以等到明确的胜利者出现再决定采取那个方案。

参考:
Docker教程

[该贴被admin于2014-09-23 16:33修改过]