6.Spring Cloud Alibaba教程:Sentinel流量防卫兵的介绍与基本使用
官网
https://sentinelguard.io/
服务雪崩
微服务中各个服务之间通过http/rpc互相调用,假设其中1个服务因为网络或自身原因出现问题,调用这个服务就会出现线程堵塞,此时若有大量请求出现,线程资源会因为堵塞而耗尽,导致服务调用方瘫痪,最后引起其他服务也相继瘫痪,这就是服务雪崩。
为了解决这个问题,业界提出了熔断器模型。阿里巴巴开源的Sentinel,就实现了熔断器模型。
Sentinel是什么
随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。
Sentinel 具有以下特征:
- 丰富的应用场景: Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。
- 完备的实时监控: Sentinel 同时提供实时的监控功能。您可以在控制台中看到接入应用的单台机器秒级数据,甚至 500 台以下规模的集群的汇总运行情况。
- 广泛的开源生态: Sentinel 提供开箱即用的与其它开源框架/库的整合模块,例如与 Spring Cloud、Dubbo、gRPC 的整合。您只需要引入相应的依赖并进行简单的配置即可快速地接入 Sentinel。
- 完善的 SPI 扩展点: Sentinel 提供简单易用、完善的 SPI 扩展接口。您可以通过实现扩展接口来快速地定制逻辑。例如定制规则管理、适配动态数据源等。
Sentinel 分为两个部分:
- 核心库(Java 客户端) 不依赖任何框架/库,能够运行于所有 Java 运行时环境,同时对 Dubbo / Spring Cloud 等框架也有较好的支持。
- 控制台(Dashboard) 基于 Spring Boot 开发,打包后可以直接运行,不需要额外的 Tomcat 等应用容器。
Sentinel 控制台
下载控制台
打开Sentinel Release页面下载jar包,我这里选择的版本是1.8.0。下载完毕后,放到 /usr/local/sentinel
启动控制台
- 端口号可以根据实际情况自己更改,这里用的是8888
- 如果sentinel装在另外的服务器,localhost需要改成实际IP地址
- 可以写个sh脚本文件,方便下次启动
java -Dserver.port=8888 -Dcsp.sentinel.dashboard.server=localhost:8888 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.8.0.jar
- 启动成功后,浏览器打开8888端口地址,账号密码默认都是sentinel
Spring Cloud Alibaba接入Sentinel
对 consumer 服务都加上 sentinel 依赖
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId></dependency>
配置sentinel
- 增加 spring.cloud.sentinel.transport.dashboard
- 增加 feign.sentinel.enabled
spring:application:name: test-consumercloud:nacos:discovery:server-addr: 192.168.25.131:8848sentinel:transport:dashboard: 192.168.25.131:8888server:port: 8020feign:sentinel:enabled: truemanagement:endpoints:web:exposure:include: "*"
关闭 provider,启动consumer,这时候调用接口会超时。
因此,我们需要给consumer服务增加Fallback服务,作用是调用外部接口失败时,缺省返回指定的数据
- 对consumer服务增加HelloServiceFallback,放在包com.train.alibaba.consumer.service.fallback
@Component
public class HelloServiceFallback implements HelloService {@Overridepublic String echo(String name) {return "请检查网络是否正常";}
}
继续保持provider关闭状态,重新调用consumer,返回结果如下
刷新sentinel控制台,会发现多了个test-consumer,里面的数据就是consumer服务的访问流量数据
6.Spring Cloud Alibaba教程:Sentinel流量防卫兵的介绍与基本使用相关推荐
- SpringCloud Alibaba之 Sentinel流量防卫兵
文章目录 Sentinel 流量防卫兵 一.安装与部署
- Spring Cloud Alibaba:Sentinel 流控规则
文章目录 1. 前言 2. 阈值类型 2.1 QPS 2.2 线程数 3. 流控模式 3.1 直接 3.2 关联 3.3 链路 4. 流控效果 4.1 快速失败 4.2 Warm Up 4.3 排队等 ...
- 1.Spring Cloud Alibaba教程:简介
概述 2018年10月31日,SpringCloudAlibaba 正式入驻 SpringCloud 官方孵化器,并在 Maven 中央库发布第一个版本. Spring Cloud for Aliba ...
- Spring Cloud Alibaba:Sentinel实现熔断与限流
摘要 Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案,Sentinel 作为其核心组件之一,具有熔断与限流等一系列服务保护功能,本文将对其用法进行详细介绍. Senti ...
- Spring Cloud Alibaba教程:使用Nacos作为服务注册中心
点击上方"方志朋",选择"置顶公众号" 技术文章第一时间送达! 什么是Nacos? Nacos 致力于帮助您发现.配置和管理微服务.Nacos 提供了一组简单易 ...
- 7.Spring Cloud Alibaba教程:整合Dubbo实现RPC调用
概述 Apache Dubbo 是一款高性能的.基于Java的开源RPC框架,它提供了以下特性: 基于接口的远程方法调用 智能负载均衡 服务自动注册和发现 高可扩展性 运行期流量调度 可视化的服务治理 ...
- spring cloud alibaba系列sentinel规则持久化
"秋来相顾尚飘蓬,未就丹砂愧葛洪. 痛饮狂歌空度日,飞扬跋扈为谁雄" 总结 我上一篇:spring cloud alibaba sentinel 介绍的sentinel可以定义很多 ...
- 8.Spring Cloud Alibaba教程:整合Seata分布式事务
概述 Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务. 更多的介绍可以参考官方文档:Seata快速入门 本篇主要是介绍Spring Cloud Alibaba ...
- 3.Spring Cloud Alibaba教程:Nacos服务注册与发现
概要 官网地址:Nacos官网和帮助文档 Nacos安装:Linux安装Nacos1.3.1(还没安装的先看这篇文章安装) Nacos主要作用:服务注册与发现.配置管理 本篇主要介绍的是服务注册与发现 ...
最新文章
- Qt Creator将应用程序部署到QNX Neutrino设备
- (转载)Linux僵死进程的产生与避免
- 如何进行.NET高效开发
- 将PostgreSQL数据库扩展到每个月12亿条记录的经验教训
- AOL CEO 谈雅虎收购案及后续计划
- 20145202马超《网络对抗》Exp8 Web基础
- 怎么看mmdetection版本_如何评价商汤开源的 mm-detection 检测库?
- html转pdf乱码问题,java html 转 pdf 中文乱码
- 用Flash CS4打开fla文件提示“意外的格式”的解决方法
- 客服系统源代码下载-h5手机端在线客服代码-在线聊天系统源代码(前端vue开发,后台go语言开发)
- C++ +GDAL计算遥感影像植被指数
- linux 查看gnu,查看GNU/Linux信息
- OSG OIT 顺序无关透明绘制(PPLL_OIT, WB_OIT) 实现及注意事项
- 常见的注册表修改大全
- 网络入门-IP地址规划
- java毕业设计m和vue的酒店管理系统2021(附源码、数据库)
- Go分享好的github插件和项目
- scribd.com文档下载
- Windows系统中LOL登陆错误出现的服务器未响应优化教程
- 【微信】h5跳转微信小程序
热门文章
- SAP生产订单状态详解
- 如何确定固定资产入账价值
- AIX 下磁盘 I/O 性能分析
- 如何通过 BAPI 更新 PO 采购订单中的 confirmation tab 中的 confirmation date.
- 华为云FusionInsight+永洪BI共建政企用数之道,普惠千行百业
- 微盟616助力品牌潮出圈背后,智慧零售迈入广阔收获期
- 颠覆智能床垫技术,喜临门开启“深睡时代”
- html复选框读取数据库,checkbox 读取数据库
- python 文本转json_在python中将文本文件转换为json
- pandas读取html并排序,使用pandas怎么实现按照列的值进行排序