薄情先生|Docker,容器,编排,和基于容器的系统设计模式( 五 )


除了单节点上的协作容器 , 模块化容器还使构建协作的多节点分布式应用程序变得更加容易 。 不过这部分内容听起来很高大上 , 但其实是很好理解的东西 。
比如分布式领域的zookeeper , 大家应该都不陌生 , 在论文中 , 这种多个节点提供领导者选举的模式 , 被称为 领导者选举模式。 同样的 , kafka这类消息队列 , 被称之为 工作队列模式(rk queue pattern)。 而最后一种 , 则是类似spark的 , master worker计算模式 , 即将一个计算任务分布到多个其他计算节点的这种方式 , 称之为 Scatter/gather pattern 模式 。
列举的几种模式都是通过多个节点协作 , 并且通过暴露接口提供对外服务 。 不过其实基本就是常见的使用容器搭建分布式服务的方式 , 如果使用过docker来搭建hadoop这一套东西 , 那么对所谓的 多节点协作模式 肯定不会陌生 。
想想也是 , 如果真的将分布式系统当做一个工程项目 , 那么这些多节点的部署模式确实需要一个名分 。 这可以算是一个典型的实践先于理论 , 理论总结实践的例子吧 。 (不过我还是觉得这部分内容有水论文的嫌疑)
那么关于容器的分布式系统设计的内容就先到这吧 , 有兴趣看原论文的童鞋可以翻到最下 。
小结OK , 本文主要介绍了docker容器的发家历史 , 然后介绍容器编排的重要性 , 并简单说了为什么swarm会在编排的战争中输给了k8s 。 最后则从容器编排这个概念延伸到基于容器技术的设计模式 , 三种模式中 , 单节点协作模式算是比较新颖 , 还是有些启发价值的 。
作者:zzzzMing
原文地址:


推荐阅读