智能堆栈+ Docker
我正在使用智能堆栈(来自airbnb)和Docker构build分布式服务云的概念validation项目。
我有3个服务:
- 一个用于构build应用程序的前端
- 一个用于用户login
- 一个用于域操作
前端应用程序显然使用其他两个服务。
我打算部署所有使用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理(从此项目检查调度程序)