智能堆栈+ Docker

我正在使用智能堆栈(来自airbnb)和Docker构build分布式服务云的概念validation项目。

我有3个服务:

  1. 一个用于构build应用程序的前端
  2. 一个用于用户login
  3. 一个用于域操作

前端应用程序显然使用其他两个服务。

我打算部署所有使用docker的3,并使用smartstack使分布式服务发现dynamic。

就我所了解的Docker而言,使用它的最好方法(如果不是唯一的话)是每个容器只运行一个进程。

智能堆栈build立了3个辅助进程(神经,突触,haproxy)在主服务运行在同一台机器。

所以,这里是我的问题:完全使用Docker和Smart Stack是否有意义? 如果是这样,人们怎么做呢? 4个进程在一个Docker容器?

什么是这种架构的最佳devise模式?

据我了解的架构,内部容器(LXC或docker)你只需要神经。 神经是一个注册守护进程。 它独立于您的服务或应用程序工作,只是通知服务发现端口正在运行。

取决于哪个服务发现你会select你需要不同的架构
*动物园pipe理员 – 为了避免裂脑 – 奇数的服务器n * 2 + 1像3获得法定人数
*农奴 – 分布和有效的一个
* etcd等等
看一下这个:
http://www.activestate.com/blog/2014/05/service-discovery-solutions

然后最后你需要HAProxy的突触(把它们放在一起,可以在一个单独的主机上)Synapse从Zookeeper / Serf获取信息服务的外观
并为HAproxy生成dynamicconfiguration。

如果你使用Serf你需要使用不同的分支( https://github.com/getyourguide/synapse/tree/serf

你也可以试试这个项目: http : //gilliam.github.io/这会给你最后一块云
部署和pipe理(从此项目检查调度程序)