公众号merlinsea
Sentinel介绍
1、Sentinel是阿里巴巴开源的分布式系统的流量控制工具
2、以流量为切⼊点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性
3、提供开箱即⽤的与其它开源框架/库的整合模块,例如与SpringCloud、Dubbo、gRPC 的整合
4、控制台会实时收集 Sentinel 客户端发送的心跳包,用于判断机器是否在线及其健康状况
Sentinel的核心概念
资源:可以是java程序中任何内容,可以是服务或者⽅法甚⾄代码,通常在实际生产中会把资源定义为某个接口,因为在实际生产中接口会 承受比较高的并发访问,为了保证接口的安全性,需要配置一些规则来保护。
规则:定义怎样的⽅式保护资源,主要包括流控规则、熔断降级规则等,比如当某个接口的QPS或者并发数超过一定限制就拒绝后续访问。
Sentinel的架构是C/S架构
核⼼库(Java 客户端)不依赖任何框架/库,能够运⾏于所有 Java 运⾏时环境,同时对 Dubbo、SpringCloud 等框架也有较好的⽀持。
控制台(Dashboard)基于 Spring Boot 开发,打包后可以直接运⾏,不需要额外的 Tomcat 等应⽤容器。
Sentinel的控制台的搭建【搭建sentinel的服务端程序】
1、下载sentinel的jar包 【sentinel-dashboard-1.8.0.jar】
2、运行sentinel的jar包
//启动 Sentinel 控制台需要 JDK 版本为 1.8 及以上版本 //-Dserver.port=8080 ⽤于指定 Sentinel 控制台端⼝为 8080 //默认⽤户名和密码都是 sentinel java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.8.0.jar
3、通过访问 ip:8080可以打开sentinel的控制台
Sentinel客户端部署
1、需要sentinel的微服务中引入sentinel的依赖
<!--引入sentinel--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> </dependency>
2、配置微服务中的sentinel的配置文件
spring: application: name: xdclass-video-service cloud: sentinel: transport: #控制台ip+端口 dashboard: 127.0.0.1:8080 #与控制台通信端口,不能被占用 port: 9998
vip课程是指同学们加入我们的vip学习群,vip群里面的小伙们可以永久参加所有的直播算法刷题课程,我每天直播的时间是早上8:30-9:30,通过腾讯会议在线讲解算法刷题,语言包括c++,java和golang版本,只要加入了vip群,除了每天的直播刷题外,前45位加入的同学,我会额外赠送我所有的学习实战资料,包括docker、git、java io、leetcode算法、java源码分析、jdk新特性、kafka、linux、mybatis、mybatis plus、mysql、mysql刷题、netty、nginx、python、rabbitmq、redis、sharding jdbc、spring、springboot、springcloud、并发编程、html+css、微信支付实战所有内容的学习笔记,总共800+张的文档资料。
国庆前的推广活动:
国庆前的价格:800元/人
国庆后恢复原价为1349元/人
国庆前45位加入的同学,带大家看看我们赠送的学习文档【声明只有国庆前45位加入vip学习群的同学,才会赠送这些内容哈】,对于之前已经加入了其他课程的同学,联系我有额外的优惠,我们每天8:30-9:30上直播算法课程:
链接详情
vip课程是指同学们加入我们的vip学习群,vip群里面的小伙们可以永久参加所有的直播算法刷题课程,我每天直播的时间是早上8:30-9:30,通过腾讯会议在线讲解算法刷题,语言包括c++,java和golang版本,只要加入了vip群,除了每天的直播刷题外,前45位加入的同学,我会额外赠送我所有的学习实战资料。
奔跑的小梁,公众号:梁霖编程工具库算法班永久vip直播教学刷题来啦