Spring Boot 微服务监控与管理
Posted
技术标签:
【中文标题】Spring Boot 微服务监控与管理【英文标题】:Spring Boot Microservices Monitoring & Management 【发布时间】:2019-08-02 14:09:48 【问题描述】:我们正计划为我们的应用程序构建一个基于微服务的分布式架构。我们也对几个概念进行了 PoC。但是我对 Spring Boot 提供的各种管理和监控解决方案感到有些困惑。如果您能在下面澄清我的疑问,我将不胜感激:
Spring Boot Admin 可以管理和监控多个微服务(我也试过这个)。我还听说过 Spring 云仪表板(我没有尝试过,但试图从概念上理解它)。虽然我了解 Spring Cloud 功能通常包括企业级功能,但我对 Spring Boot Admin 和 Spring Cloud Dashboard 之间的区别感到困惑。 我知道 Spring Boot Admin 服务器可以监控任何基于 Spring Boot 的微服务,只要我们添加正确的依赖项并正确配置它。现在假设我有一个长时间运行的批处理过程,无论出于何种原因,应用程序都没有响应(例如,在处理文件的过程中)。 Spring Boot 管理服务器有什么方法可以通知这样的问题吗?是的,假设我已经为 Spring Boot 管理客户端添加了必要的依赖项并正确配置了服务(尽管主应用程序可能正在处理来自 SFTP 服务器的文件并以批处理模式更新数据库) 如果我们将每个服务打包到容器中(例如作为 docker 镜像),我认为我们将能够使用 Spring Boot Admin 监控每个服务。但是有没有更好的方法来监控和管理 Docker 平台中的服务呢?我做了一些研究,发现如果我们将其部署到 AWS 或 Azure 等云平台中,我们可以依靠云提供商的功能来监控每个容器,而不是我们的解决方案。这是真的吗? 是否可以使用 Spring Boot Admin 而不是开箱即用的参数来监视自定义事件/统计信息?例如,我想知道每个文件中的记录数以及成功处理的记录数。我可以将这些信息发送到 Spring Boot Admin Server,以便我可以在 Spring Boot Admin UI 中查看它们吗? 我知道 Zookeeper 是发现服务的一个很好的替代品,但有些人说我们也可以使用它来监控和管理微服务。这是真的吗?它在社区中是否流行?抱歉,这篇文章很长,但我想我会在一篇文章中询问所有相关内容。非常感谢您的宝贵时间。
【问题讨论】:
【参考方案1】:-
Spring Boot Admin 只是一个花哨的工具,在开发阶段很好用,但不适合在生产环境中使用。
microservices-dashboard-server 似乎无法正常工作 https://github.com/ordina-jworks/microservices-dashboard 。我也试过最新的快照
Hystrix + Turbine 看起来很有趣,但最后一次提交是几年前的事
通常基础设施取代了许多此类解决方案。好在你不需要自己支持它。坏事是您与云提供商绑定。
【讨论】:
以上是关于Spring Boot 微服务监控与管理的主要内容,如果未能解决你的问题,请参考以下文章
spring boot admin + spring boot actuator + erueka 微服务监控
Spring Boot (27) actuator服务监控与管理
SpringCloud微服务监控Spring Boot Admin
微服务应用监控 Spring Boot Actuator 详解