哈喽各位同学们大家好呀,今天是开发者学院中课程“Spring Cloud微服务架构设计与开发实战”的章节二的“Java Spring Cloud微服务监控分布式架构的又一巅峰 ”干货总结~是一起学习新课程吧!
课程链接以及图谱地址小编已经为大家指路了,搭配学习效果更佳👇
课程名称:Java Spring Cloud微服务监控分布式架构的又一巅峰
课程地址:https://developer.aliyun.com/learning/course/60/detail/1089
图谱名称:Alibaba Java 技术图谱
图谱地址:https://developer.aliyun.com/graph/java
Java Spring Cloud微服务监控分布式架构的又一巅峰
- Spring Cloud微服务监控
1、Netflix Hystrix
- Netflix发布了Hystrix熔断器框架,保护系统
- 通过控制那些访问远程系统、服务和第三方库的节点
- 从而对延迟和故障提供更强大的容错能力
- Fallback 灾备操作,出错以后返回的值
- Hystrix中, 主要通过线程池来实现资源隔离
- Hystrix的信号模式(Semaphores)来隔离资源
- Hystrix支持dashboard控制面板 监控信息
- Feign可以和Hystrix结合使用,也可以独立使用
Hystrix本义指的是豪猪,我们的微服务架构我们在生产环境下你有为了支持高并发高可用,你可能有10台甚至一100台1000台,微服的实力,但有一点也有可能比如说你有事态服务器的时候支持的并发,比如说是1万,但是双11的时候支持的并发可能瞬间达到了10万,能够去做一定的措施,我们去限制一部分的流量,然后服务其中的一部分流量。
- 断路器模式
整个的熔断工具还属于是我们一般的话是放在服务调用端,因为一个服务端的话可能调用多个服务,所以在这一侧的话,我们做限流的话是比较方便。
- Hystrix监控面板
- Spring Cloud Hystrix熔断管理
- Netflix :容断管理工具,
- 旨在通过控制服务和第三方库的节点,
- 从而对延迟和故障提供更强大的容错能力。
- 防止 服务器过载
- 防止系统雪崩
- Spring Cloud Hoxton版本后需要特殊配置
- Pom依赖
练习:
第一件事情加两个依赖,保存让他来拉一下依赖包。监控和采集用hustrix,控制面板用spring-cloud-starter-nutflix-dashboard</artifactid
artifactId依赖也要加进来是2.0提供的数据采集的组件用于暴露核心的应用程序的数据。
改完加两个重要注解 @EnableHystrix(启用监控面板),@EnableHystrixDashboard
还要改配置文件用于暴露监控数据
这里面的话把监控的 Excel的地址给拿进来这里面我们要改个端口,咱们用9602来进行测试。
以后做监控后一定会遇到,叫无法链接到数据流。因为默认在2.2后版本修改默认的策略又改掉了,不允许你直接链接。
你要允许本地的服务器调用,采集面板跟代理服务器之间有个依赖关系
代理服务器在想办法去监控它的数据流,采集它的数据流,处罚一下,就会有数据流显示。
- 启用Hystrix
- • @SpringBootApplication
- • @EnableEurekaClient
- • @EnableFeignClients
- • @• @• public class SpringCloudEurekaConsumerApplication { • public static void main(String[] args) {
- •
- SpringApplication.run(SpringCloudEurekaConsumerApplication
- .class, args);
- • } • }
- Hystrix
•监控服务调用
•熔断代码
•监控面板:独立部署,也可以Zuul,
- 开发步骤
1. 依赖包Hystrix
2. 启用注解
3. 修改配置参数,监控指标采集
4. 打开监控面板http://localhost:9001/hystrix
5. 监控数据源
http://localhost:9001/actuator/hystrix.stream
6. 调用一次微服务
7. 修改熔断代码
- Hystrix监控仪表盘
- Hystrix底层原理
• Hystrix使用了命令模式,
•对命令对象抽象了两个抽象类:
• HystrixCommand 和HystrixObservableComma