西安网站制作公司哪家好,正能量免费软件,维护公司,阳江优化网站排名文章目录 什么是 SentinelSentinel 具有以下特征#xff1a;Sentinel分为两个部分: 安装 Sentinel 控制台下载jar包#xff0c;解压到文件夹启动控制台访问了解控制台的使用原理 微服务集成 Sentinel添加依赖增加配置测试用例编写启动程序 实现接口限流总结 欢迎来到阿Q社区 … 文章目录 什么是 SentinelSentinel 具有以下特征Sentinel分为两个部分: 安装 Sentinel 控制台下载jar包解压到文件夹启动控制台访问了解控制台的使用原理 微服务集成 Sentinel添加依赖增加配置测试用例编写启动程序 实现接口限流总结 欢迎来到阿Q社区 https://bbs.csdn.net/topics/617897123 什么是 Sentinel
Sentinel分布式系统的流量防卫兵是阿里开源的一套用于服务容错的综合性解决方案。它以流量为切入点从流量控制、熔断降级、系统负载保护等多个维度来保护服务的稳定性。
Sentinel 具有以下特征
丰富的应用场景Sentinel 承接了阿里巴巴近10年的双十一大促流量的核心场景例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。完备的实时监控Sentinel提供了实时的监控功能。通过控制台可以看到接入应用的单台机器秒级数据甚至500台以下规模的集群的汇总运行情况。广泛的开源生态Sentinel 提供开箱即用的与其它开源框架/库的整合模块例如与SpringCloud、Dubbo、gRPC的整合。只需要引入相应的依赖并进行简单的配置即可快速地接入Sentinel。完善的SPI扩展点SentineI 提供简单易用、完善的SPI扩展接口。您可以通过实现扩展接口来快速地定制逻辑。例如定制规则管理、适配动态数据源等。
Sentinel分为两个部分:
核心库(Java 客户端)不依赖任何框架/库能够运行于所有Java运行时环境同时对 Dubbo /Spring Cloud 等框架也有较好的支持。控制台(Dashboard)基于 Spring Boot 开发打包后可以直接运行不需要额外的 Tomcat 等应用容器。
安装 Sentinel 控制台
Sentinel 提供一个轻量级的控制台它提供机器发现、单机资源实时监控以及规则管理等功能。
下载jar包解压到文件夹
https://github.com/alibaba/Sentinel/releases
启动控制台
#直接使用jar命令启动项目(控制台本身是一个Spring Boot项目)
java -Dserver.port8080 -Dcsp.sentinel.dashboard.serverlocalhost:8080 -Dproject.namesentinel-dashboard -jar sentinel-dashboard-1.8.7.jar访问
通过浏览器访问localhost:8080进入控制台 默认用户名密码是sentinel/sentinel输入之后登录成功 了解控制台的使用原理
SentineI 的控制台其实就是一个 SpringBoot 编写的程序。
我们需要将我们的微服务程序注册到控制台上即在微服务中指定控制台的地址并且还要开启一个跟控制台传递数据的端口控制台也可以通过此端口调用微服务中的监控程序获取微服务的各种信息。 微服务集成 Sentinel
微服务集成 Sentinel 非常简单只需要加入 Sentinel 的依赖即可
添加依赖
在 pom. xml 中加入下面依赖
dependency groupIdcom.alibaba.cloud/groupId artifactIdspring-cloud-starter-alibaba-sentinel/artifactId version2.1.0.RELEASE/version
/dependency增加配置
修改 shop-order在里面加入 sentinel 有关控制台的配置
spring:cloud:sentinel:transport:port: 9999 #跟控制台交流的端口随意指定一个未使用的端口即可dashboard: localhost:8080 #指定控制台服务的地址测试用例编写
编写一个 Controller 测试使用
RestController
RequestMapping(/order)
Slf4j
public class OrderController3 {RequestMapping(/message1)public String message1() {returnmessage1;}RequestMapping(/message2)public String message2() {returnmessage2;}}启动程序
程序启动之后访问127.0.0.1:8091/order/message1发现在 sentinel 管理页面看到确实有监控 shop-order 微服务 实现接口限流
通过控制台为 message1 添加一个流控规则 通过控制台快速频繁访问观察效果发现限流成功。 总结
到这儿服务容错中间件 Sentinel 我们算是基本入门了。下一篇将为大家带来容错组件 Sentinel 的进阶文章敬请期待吧
后续的文章我们将继续完善我们的微服务系统集成更多的Alibaba组件。想要了解更多JAVA后端知识请点击文末名片与我交流吧。留下您的一键三连让我们在这个寒冷的东西互相温暖吧