使用DCOS的MicroService

时间:2018-02-17 12:10:36

标签: microservices dcos

我决定转向MicroService架构,将项目划分为多个服务并在DCOS上运行这些服务。它确实为项目部署和维护提供了一个很好的故事。但它使开发过程变得复杂。

对于开发人员来说,在实现过程中很容易在本地运行应用程序。现在项目被分成多个服务并在DCOS上运行,这需要良好的配置。因此,在实施过程中测试开发人员的应用程序将成为一场噩梦。

伙计们,任何人都在使用DCOS和Microservice,请您建议您进行内部开发的过程。

1 个答案:

答案 0 :(得分:0)

DCOS只是您部署的工具,因此为了提供更好的答案,您必须在问题中分享更多有关您的技术堆栈的信息。但是这里有一些一般的想法:有不同类型/级别的测试,每种都有不同的考虑因素。

  1. 在单元级别 - 这取决于您使用什么技术来实现服务,这就是为什么像go这样的语言在服务器开发中变得越来越流行的原因。例如,如果使用go,则可以在开发机器上轻松运行当前正在本地开发的任何服务(非容器化)。您可以轻松运行附加的单元测试。您可以在本地运行相关服务或模拟它们(可能取决于工作量)。您可能还希望要求每个服务团队提供模拟服务作为其定期交付的一部分。 并且您将需要针对本地环境的特殊环境设置和服务配置。所以总结这种方法将要求您具有在本地运行服务的方法,并且根据您使用它的实现技术将更容易或更难。

  2. 在部署/集成级别 - 在dev's local machine和/或使用专用测试和暂存群集上设置最小群集。这允许您测试包括容器化在内的服务以及具有依赖性的最终部署环境。您可能会为此类测试编写特殊的测试客户端。此方法还需要您为不同的环境分别设置环境设置,配置文件等。像Jaeger这样的工具在这里通过多种服务帮助调试错误变得更加流行。

  3. Canary测试。顾名思义 - 您将最新的服务版本部署到生产集群的一小部分,以便在将其推广到大众之前先在有限数量的用户上进行测试。在此阶段,您可以运行用户级别测试,实际上您的用户将成为测试人员,因此请谨慎使用。有些组织更愿意拥有只能访问这些环境的特殊beta类型用户。