智能堆栈+ Docker

时间:2014-06-10 16:10:27

标签: architecture cloud docker

我正在使用Smart Stack(来自airbnb)和Docker来构建分布式服务云的概念验证项目。

我有3项服务:

  1. 一个用于构建应用程序的前端
  2. 一个用户登录
  3. 一个用于域操作
  4. 前端应用程序显然使用其他两种服务。

    我计划使用docker部署所有3个,并使用smartstack使分布式服务发现动态化。

    据我了解Docker,使用它的最佳方法(如果不是唯一的方法)是每个容器只运行一个进程。

    Smart Stack是在主服务运行的同一台机器上构建3个辅助进程(神经,突触,haproxy)。

    所以,这就是我的问题:完全使用Docker和Smart Stack是否有意义?如果是这样,人们如何做到这一点?一个Docker容器上有4个进程?

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

1 个答案:

答案 0 :(得分:1)

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

取决于您选择哪种服务发现,您需要不同的架构 *动物园管理员 - 避免分裂大脑 - 奇数个服务器n * 2 + 1像3来获得法定人数
* Serf - 分布式且高效的一个 * etcd以及更多
看看这个:
http://www.activestate.com/blog/2014/05/service-discovery-solutions

然后在最后你需要与HAProxy进行突触(将它们放在一起,可以在一个单独的主机上) Synapse从Zookeeper / Serf获取信息如何服务 并为HAproxy生成动态配置。

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

您也可以尝试此项目:http://gilliam.github.io/ 它会给你最后一片你的云 部署和管理(检查此项目的调度程序)

相关问题