【发布时间】: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 是发现服务的一个很好的替代品,但有些人说我们也可以使用它来监控和管理微服务。这是真的吗?它在社区中是否流行?
抱歉,这篇文章很长,但我想我会在一篇文章中询问所有相关内容。非常感谢您的宝贵时间。
【问题讨论】:
标签: spring-boot docker spring-cloud apache-zookeeper spring-boot-admin