使用Apache Mesos和Consul实现服务的注册发现
为保证基于Docker应用程序和服务都具有高性能和可用性,设计出一种具有服务发现,高可用性和容错能力的解决方案非常重要。 我们使用 Apache Mesos 和 Mesosphere的 Marathon实现Docker的任务调度和应用部署,Mesos能够帮助完成高可用性 高容错性。 作为服务编排注册和发现, Consul 不仅能够作为一个key/value存储,而且能够支持错误侦测以及多数据中心支持。 注册定义是当有Docker容器启动或停止时,其他Docker容器应该能获知,使用 Apache Consul 实现注册或注销Docker容器的微服务名称以及发布端口。 Consul-template 是一个独立的应用,能够查询Consul并且更新文件系统上的一个文件模板,正如你看到一样,使用Consul/Consul-template实现注册的捆绑能够帮助完成动态服务的注册和发现,以及配置文件的更新,我们可以使用这些工具与Haproxy联合一起为所有服务请求提供一个通用的代理网关。 安装步骤 假设 Consul为3个或5个服务器集群工作,每个服务器节点包括所有mesos 主从服务器和haproxy等都必须有一个Consul代理网关安装和运行。 安装Consul 服务器和代理节点的步骤: wget https://dl.bintray.com/mitchellh