springcloud sentinel教程
QPS(Queries Per Second)即每秒查询率
TPS,每秒处理的事务数目
PV(page view)即页面浏览量
UV 访问数(Unique Visitor)指独立访客访问数
一、初识Sentinel
什么是雪崩问题?
微服务之间相互调用,因为调用链中的一个服务故障,引起整个链路都无法访问的情况。
如何避免因瞬间高并发流量而导致服务故障?
流量控制
如何避免因服务故障引起的雪崩问题?
超时处理
线程隔离
降级熔断
认识sentinel
Sentinel是阿里巴巴开源的一款微服务流量控制组件。官网地址: https://sentinelquard.io/zh-cn/index.html
Sentinel具有以下特征:
丰富的应用场景:Sentinel承接了阿里巴巴近10年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。
完备的实时监控:Sentinel同时提供实时的监控功能。您可以在控制台中看到接入应用的单台机器秒级数据,甚至500 台以下规模的集群的汇总运行情况。
广泛的开源生态:Sentinel提供开箱即用的与其它开源框架/库的整合模块,例如与Spring Cloud、Dubbo、qRPC的整合。您只需要引入相应的依赖并进行简单的配置即可快速地接入 Sentinel。
完善的 SPI 扩展点:Sentinel提供简单易用、完善的 SPI扩展接口。您可以通过实现扩展接口来快速地定制逻辑。例如定制规则管理、适配动态数据源等。
安装Sentinel控制台
sentinel官方提供了U控制台,方便我们对系统做限流设置。大家可以在GitHub下载。
https://github.com/alibaba/Sentinel/releases
将其拷贝到一个你能记住的非中文目录,然后运行命令:
java -jar sentinel-dashboard-1.8.7.jar
然后访问:localhost:8080 即可看到控制台页面,默认的账户和密码都是sentinel
微服务整合Sentinel
我们在order-sentinel中整合Sentinel,并且连接Sentinel的控制台,步骤如下:
1.引入sentinel依赖:
2.配置控制台地址:
spring:
application:
name: meitemayikt-sentinel
cloud:
nacos:
discovery:
server-addr: 192.168.0.111:8848
#register-enabled: true
sentinel:
enabled: true
transport:
dashboard: 192.168.0.111:8080 # Sentinel 控制台地址
clientIp: 192.168.0.103 # 很重要,要告诉Sentinel服务端的ip
eager: true # 是否立即加载 Sentinel 规则
3、访问微服务的任意端点,触发sentinel监控
我这里访问的meitemayikt-sentinel服务的一个接口 我这里访问的
访问sentinel控制台就看到了