|
|
|
|
移动端

2.4.4 传达微服务的“健康状况”

《Spring微服务实战》第2章使用Spring Boot构建微服务,Spring,本章将演示如何从这些角色的视角使用Spring Boot和Java设计和构建一组微服务。到本章结束时,读者将有一个可以打包并部署到云的服务。本节为大家介绍传达微服务的“健康状况”。

作者:陈文辉 译来源:人民邮电出版社|2018-05-23 14:39

技术沙龙 | 6月30日与多位专家探讨技术高速发展下如何应对运维新挑战!


2.4.4 传达微服务的“健康状况”

服务发现代理不只是扮演了一名引导客户端到服务位置的交通警察的角色。在基于云的微服务应用程序中,通常会有多个服务实例运行,其中某些服务实例迟早会出现一些问题。服务发现代理监视其注册的每个服务实例的健康状况,并从其路由表中移除有问题的服务实例,以确保客户端不会访问已经发生故障的服务实例。

在发现微服务后,服务发现代理将继续监视和ping健康检查接口,以确保该服务可用。这是图2-6中的步骤4。图2-10提供了此步骤的上下文。

通过构建一致的健康检查接口,我们可以使用基于云的监控工具来检测问题并对其进行适当的响应。

如果服务发现代理发现服务实例存在问题,则可以采取纠正措施,如关闭出现故障的实例或启动另外的服务实例。

在使用REST的微服务环境中,构建健康检查接口的最简单的方法是公开可返回JSON净荷和HTTP状态码的HTTP端点。在基于非Spring Boot的微服务中,开发人员通常需要编写一个返回服务健康状况的端点。

在Spring Boot中,公开一个端点是很简单的,只涉及修改Maven构建文件以包含Spring Actuator模块。Spring Actuator提供了开箱即用的运维端点,可帮助用户了解和管理服务的健康状况。要使用Spring Actuator,需要确保在Maven构建文件中包含以下依赖项:

  1. <dependency> 
  2.   <groupId>org.springframework.boot</groupId> 
  3.   <artifactId>spring-boot-starter-actuator</artifactId> 
  4. </dependency> 

如果访问许可证服务上的http://localhost:8080/health端点,则应该会看到返回的健康状况数据。图2-11提供了返回数据的示例。

如图2-11所示,健康状况检查不仅仅是微服务是否在运行的指示器,它还可以提供有关运行微服务实例的服务器状态的信息,这样可以获得更丰富的监控体验。


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

高质量程序设计指南:C++/C语言(第3版)

本书以轻松幽默的笔调向读者论述了高质量软件开发方法与C++/C编程规范。它是作者多年从事软件开发工作的经验总结。本书共17章,第1章到第4...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊