微信号:infoqchina

介绍:有内容的技术社区媒体

【热点】Docker的未来

2014-08-07 18:22 InfoQ

Dokku的作者以及Docker早期的贡献者Jeff Lindsay在CenturyLink的一个采访中讨论了他正在参与的Docker的相关项目以及他们打算如何解决涉及到面向Docker服务的架构的问题。


Jeff联合Flynn开发了一个类似Heroku的下一代开源PaaS平台。他的目标是像Heroku这样的PaaS服务商一样,使用容器作为服务代替虚拟机:


我非常希望容器能成为理想的日常工具。[...] 人们使用容器的方式更像是SaaS,所以当你运行容器时将会使用给定的API来管理和重新配置它,你不需要像之前那样修改配置文件。[...]我就是喜欢提供API的所有系统。


有几个项目就是围绕Docker来开发的,以便构建面向服务的架构。


Discoverd是一个简单又强大的服务发现系统,目前基于Etcd,但是也可以使用ZooKeeper或者其它的分布式一致性存储系统。 类似Consul和Etcd这样的项目只是提供基础的服务发现功能,但是Discoverd在它之上提供了一个更加具体和更易扩展的API来实现服务发现。


Ambassadord是Docker远程代理(Ambassador)模式的实现,它允许跨主机连接Docker容器,支持静态转发、基于DNS的转发或者基于Consul+Etcd的转发。通过使用iptables,Ambassadord可以基于端口来选择跳转到哪个主机,因此,集群中只需要一个代理即可。


Registrator(原名Docksul)是一个为Docker而设计的服务注册项目,它监听跨主机运行的容器的启动和停止,检查并向Consul或者Etcd注册它们(容器)。


Consulate是由Consul、Ambassadord和Registrator驱动的针对Docker的分布式服务发现和路由网格的项目。Consulate在主机中运行后,集群中的任意容器之间都可以互相通信,它是软件定义网络方案的一种选择,它使用服务发现技术。


Duplex是一个简单的应用程序通讯协议和库,受ZeroMQ的启发,它打算在一个弱中间人的(brokerless)的消息架构中运行RPC。Duplex允许在libchan之上运行RPC并支持完整的RPC语义,libchan是Docker的轻量级网络包。


Configurator把传统的软件配置文件如Nginx、Haproxy、Apache转变为工具。它也是confd的一个替代,可以在无中心存储的情况下运行。Configurator暴露出来的REST API可以通过程序的方式来修改这些服务的配置。


此外,Jeff也在开发Manifold,Manifold是一个基于Consulate的服务发现和分布式调度系统。Manifold用以替代Apache Mesos,它不仅简化了概念模型,而且还易扩展和可控制。Manifold类似于CoreOS的Fleet,它允许定义在集群中部署容器的策略,但是并没有绑定Systemd。


另外,为了更好的促进Docker在国内的发展以及传播,InfoQ开设了《深入浅出Docker》专栏,邀请Docker相关的布道师、开发人员、技术专家来讲述Docker的各方面内容。InfoQ希望Docker专栏能帮助读者迅速了解Docker,希望新的技术、新的理念能让更多的人受益。


 
InfoQ 更多文章 Facebook如何实现PB级别数据库自动化备份 学术派Google软件工程师Matt Welsh谈移动开发趋势 Spotify为什么要使用一些“无聊”的技术? 妹纸们放假了,汉纸们做啥? 大多数重构可以避免
猜您喜欢 RAID 技术介绍和总结 安卓单元测试(十):DaggerMock, 让Dagger2与单元测试的结合易如反掌 性能测试基础--(CPU) 【案例分享】redis audit内存分析工具在redis cluster中的应用 最近关于对网络爬虫技术总结