首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何管理正在运行的微服务

如何管理正在运行的微服务
EN

Stack Overflow用户
提问于 2018-08-19 03:12:13
回答 3查看 115关注 0票数 0

我最近一直在使用springboot测试微服务,以创建微服务项目。我对设置的了解越多,我面临的问题就越多。

  1. 如何运行和管理所有正在运行的微服务?开发人员如何通过中心位置管理、部署或更新微服务?
  2. 部署微服务的多个实例时,是让端口在运行时决定,还是应该预定义端口?

我相信以后会有更多的问题出现。使用的链接:

提前谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-08-19 14:30:22

微服务确实倾向于早晚失控。有如此多的服务漂浮在周围,您需要提前考虑部署和监控策略。

这两个都不是一个容易的问题,但您有相当多的工具可供使用。

从CI/CD开始。在它周围搜索一下,你会找到一条路。一种选择是使用Jenkins进行蓝/绿部署,在这种情况下,jenkins将是您管理部署的一个中心位置(但这只是一个示例,我们围绕此构建了相当多的工具,可以根据您的需求更好地帮助您)

这个问题的另一部分在于你倾向于在什么地方部署东西?不同的云提供商有自己的处理微服务的特定方式,这取决于您的主机。但另一种选择是使用容器。

如果你直接使用原始容器,比如docker,你将不得不处理映射端口(如果它们被部署在同一主机上),但你可以在此基础上使用抽象,如果你在AWS上,那么你可以考虑ECS或docker集群,或者我个人更喜欢Kubernetes。您不需要担心它们所在的端口,并且可以通过负载均衡器直接与您的服务对话。这里缺少了很多东西,你真的需要选择一个这样的工具并深入挖掘,但还有其他选择供你探索。

下一步是监控,如果你使用kubernetes,你会得到很多现成的监控工具,可以帮助你访问服务日志,查询它们等等。但你也需要确保从开发的角度来看,你确实提供了关联id,api指标,响应时间,因为当涉及到微服务时,你将需要它们来调试问题,特别是与延迟相关的问题。如果你不在kubernetes上,你仍然可以单独添加所有这些功能,比如用于日志监控的ELK堆栈(因为你不想去每个服务检查日志),用于跟踪的zipkin,用于服务发现和与容器对话的API网关和负载均衡器。

希望这篇文章能帮助你入门。

票数 0
EN

Stack Overflow用户

发布于 2018-08-19 03:19:25

您可以从以下内容开始:

监控:

代码语言:javascript
复制
Start with spring-boot-admin and prometheus.
https://github.com/codecentric/spring-boot-admin

部署:

代码语言:javascript
复制
Start with docker and docker-compose and move to kubernetes.

docker compose的几个示例:

  1. https://github.com/jinternals/spring-cloud-stream
  2. https://github.com/jinternals/spring-micrometer-demo
票数 0
EN

Stack Overflow用户

发布于 2018-08-19 16:54:52

有容器服务/容器管理系统可用,例如Amazon ECS、Azure容器服务、Kubernetes等,它们通过集中式存储库(如Amazon ECR等)进行自动化部署,自动扩展/缩减微服务实例,利用动态端口分配在单个实例/主机上运行同一服务的多个实例,并为您提供一个集中式仪表板来监控资源使用和基础设施事件。

您可以使用任何一个来获取所有问题的答案,因为所有这些问题都提供了管理微服务所需的大多数功能。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51911797

复制
相关文章

相似问题

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