哈喽各位同学们大家好呀,今天是开发者学院中课程“Spring Cloud微服务架构设计与开发实战”的章节三的“Spring Cloud实战Sentinel熔断限流”干货总结~是一起学习新课程吧!
课程链接以及图谱地址小编已经为大家指路了,搭配学习效果更佳👇
课程名称:Spring Cloud实战Sentinel熔断限流
课程地址:https://developer.aliyun.com/learning/course/60/detail/1099
图谱名称:Alibaba Java 技术图谱
图谱地址:https://developer.aliyun.com/graph/java
Spring Cloud实战Sentinel熔断限流
1、阿里巴巴Sentinel熔断限流工具
- Alibaba微服务组件Sentinel
1.Sentinel: 分布式系统的流量防卫兵
- Sentinel:哨兵,流量控制、熔断降级、系统负载保护等多维度保护服务的稳定性
Sentinel本身的意思,我们说叫分布式系统的流量防卫兵。其次的话基于某个设置条件来做实现熔断功能,实现降低保护系统的一个可用性。
- Sentinel 新特性
1.丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。
2.完备的实时监控:Sentinel 同时提供实时的监控功能。您可以在控制台中看到接入应用的单台机器秒级数据,甚至 500 台以下规模的集群的汇总运行情况。
- 广泛的开源生态:Sentinel 提供开箱即用的与其它开源框架/库的整合模块,例如与 Spring Cloud、Dubbo、gRPC 的整合。您只需要引入相应的依赖并进行简单的配置即可快速地接入 Sentinel。
- 完善的 SPI 扩展点:Sentinel 提供简单易用、完善的 SPI 扩展接口。您可以通过实现扩展接口来快速地定制逻辑。例如定制规则管理、适配动态数据源等。
3.Sentinel对比Hystrix
Hystrix对比Sentinel属于完败,图表里面提到了限流基于调用关系限流它不支持慢启动它也不支持附带保护,这里面的话它也有管理界面,还是管理页面相对来说比较简单。URL的管理页面简单还是随时随地,咱们讲这个原因并不是他做不好,是因为麦飞公司和皮波罗公司是一出现这个叫隔阂。他不愿意花大量的时间改在开源项目上,因为这个事情自己没得到什么好处。
- 阿里巴巴Sentinel分布式架构
1.Sentinel的逻辑架构
监控是熔断限流得一个基础,这里面大家支持的技术,比较新的就是service mesh,service mesh就叫服务网格,更偏底层一点。 Sentinel并不是要取代service cloud,他们不是取代Dubbo,也不取代gRPC,是它的有效补充,大家工作的层次不一样,设备变形更偏底层一点。
- Sentinel 的开源生态
篇底层的网络调度,比如网络,虽然有些的包括级的工作,它是概念是重复的,但是两个功能并不冲突,它生态比较完善,对接的各种不同的分布式场景。当然那个也可以集成它的实际是来者不拒包容的心态对接所有的技术。
- Sentinel实战Spring Cloud
1.改造Spring Cloud微服务
- 开发Sentinel微服务项目
1.POM
- 配置
标准端的话,改成9002。用9001容易出错,下一步启动一下咱们通过902这个端口的话,这个程序我们来调结合了熔断的这样的一个配置来实现垄断操作。9002和9001的差别就在于9001的调动端实际是没有启用垄断这地方已经有了我们nacos-feign的这样一个程序来看,实时监控,用几次会出现请求次数峰值,实际跟high school的很像,只不过它的统计也一样,最高3次7次。
五、测试Sentinel微服务熔断限流
这里面差别是这两个都可以调一个是通过hi来调的,一个通过hello来调节。但现在的话咱们要熔断的话可以在直接在线进行配置,Sentinel做这一点做的比较好,很方便,我们比如说在high上我们加个流控,降级也可以。