Sentinel简介
背景分析
在我们日常生活中,经常会在淘宝,京东,拼多多参与商品的秒杀,也会在节假日抢购一些火车票,这些场景无一例外会引起服务器流量的暴涨,导致网页无法显示,APP无法正常运转。
我么如何在这些业务流量变化无常的情况下,保证业务安全运营,系统在任何情况下都不会崩溃哪?我们可以在系统负载过高时,采用限流,降级和熔断,三种措施来保护系统,由此一些流量控制中间件诞生。例如Sentinel。
Sentinel概述
Sentinel(分布式系统的流量防卫兵)是阿里开源的一套用于服务容错的综合性解决方案。它以流量为切入点,从流量控制、降级熔断、系统负载保护等多个维度来保护服务的稳定性。
Sentinel核心为分两个部分:
核心库(Java客户端):能够运行于所有Java运行时环境,同时对Dubbo/Spring Cloud等框架也有较好的支持。
控制台(Dashboard):基于Spring Boot开发,打包后可有直接运行。
安装Sentinel服务
Sentinel 提供一个轻量级的控制台, 它提供机器发现、单机资源实时监控以及规则管理等功能,其控制台安装步骤如下:
第一步:打开sentinel下载网址
第二步:下载Jar包(可以存储到一个sentinel目录),如图所示:
第三步:在sentinel对应目录,打开命令行(cmd),启动运行sentinel 启动代码如下:
java -Dserver.port=8180 -Dcsp.sentinel.dashboard.server=localhost:8180 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.8.1.jar
访问Sentinal服务
假如Sentinal启动ok,通过浏览器进行访问测试,如图所示:
Sentinel限流入门
概述
我们系统中的数据库连接池,线程池,nginx的瞬时并发等在使用时都会给定一个限定的值,这本身就是一种限流的设计。限流的目的防止恶意请求、恶意攻击、或者防止流量超过系统峰值。
准备工作
第一步:Sentinel应用于服务提供方&#x