首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于码头的微服务架构的执政官

基于码头的微服务架构的执政官
EN

Stack Overflow用户
提问于 2017-08-28 22:38:38
回答 1查看 353关注 0票数 2

我们正在从一个单片应用程序转向微服务。每个微型服务都将通过Amazon在Docker上运行。

我们决定用领事来进行服务发现。我们有3台服务器运行在VPC内部的EC2实例上。

我的问题如下:

我如何/在哪里开始领事代理的每一个微型服务?我是否在每个实例上运行另一个容器(通过Docker-构图)?或者,我是否以某种方式在现有的码头集装箱内为每个微型服务运行领事代理?

附呈的是对我处境的粗略描述。领事客户端(黄色)应该在自己的码头集装箱还是在Node.js容器内?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-31 09:26:44

领事是另一种服务,我不会把它部署在我的微型服务的容器里。在一个大规模的场景中,我会部署几个领事容器:一些将在服务器模式下运行代理(将它们视为Masters),另一些将在客户端模式下运行(将它们视为奴隶)。

我不会将在客户端模式下运行的代理部署为应用程序容器的一部分,因为:

  1. 孤立他们意味着他们被单独阻止。将它们组合在一起意味着,每当由于版本升级或失败而停止应用程序的容器时,我就会不必要地停止在其中运行的领事代理。反过来也是这样:阻止领事代理会阻止我运行的应用程序。这种不必要的耦合是没有好处的。
  2. 隔离它们意味着它们可以分开缩放。我可能需要扩展我的微服务并部署更多的实例。如果容器中还包含领事客户代理,那么缩放我的微服务也会导致领事的扩展。或者相反:我可能需要在不扩展我的微型服务的情况下对领事进行评估。
  3. 从码头集装箱图像的角度来看,隔离它们更容易。我可以继续使用官方领事形象和升级,没有太多的麻烦。把领事和我的微型服务放在一起,就意味着领事的提升需要我自己去修改集装箱形象。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45928269

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档