引言

书接上篇 微服务应对雪崩的容错方案 ,大概知道微服务容错方案可以从隔离、超时、限流、熔断、降级这几方面入手。好了,理论了解了,那代码落地方案?这是后本篇的主角要登陆场:Sentinel,微服务的守护神。

何为Sentinel

官网:https://sentinelguard.io/zh-cn/index.html

Sentinel (分布式系统的流量防卫兵) 是阿里开源的一套用于服务容错的综合性解决方案。它以流量

为切入点, 从流量控制、熔断降级、系统负载保护等多个维度来保护服务的稳定性。

Sentinel 特征

  • 丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景, 例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。

  • 完备的实时监控:Sentinel 提供了实时的监控功能。通过控制台可以看到接入应用的单台机器秒级数据, 甚至 500 台以下规模的集群的汇总运行情况。

  • 广泛的开源生态:Sentinel 提供开箱即用的与其它开源框架/库的整合模块, 例如与 SpringCloud、Dubbo、gRPC 的整合。只需要引入相应的依赖并进行简单的配置即可快速地接入Sentinel。

Sentinel分为两个部分:

  • 核心库(Java 客户端)不依赖任何框架/库,能够运行于所有 Java 运行时环境,同时对 Dubbo /Spring Cloud 等框架也有较好的支持。

  • 控制台(Dashboard)基于 Spring Boot 开发,打包后可以直接运行,不需要额外的 Tomcat 等应用容器。

项目集成Sentinel

还是沿用之前的商品与订单服务

微服务集成Sentinel非常简单, 只需要加入Sentinel的依赖即可,在shop-order-server项目的pom文件中添加如下依赖

<!--sentinel组件-->
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>

修改shop-order-server项目中的配置文件application.yml,新增如下配置:

spring:cloud:sentinel: transport: port: 8719 #跟控制台交流的端口,随意指定一个未使用的端口即可,默认为8719dashboard: localhost:8080 # 指定控制台服务的地址

启动服务即可。

整合Sentinel控制台

Sentinel 提供一个轻量级的控制台, 它提供机器发现、单机资源实时监控以及规则管理等功能。

1>下载jar包 Releases · alibaba/Sentinel · GitHub

2>命令启动控制台

# 直接使用jar命令启动项目(控制台本身是一个SpringBoot项目)
java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.8.0.jar
-Dserver.port=8080 #用于指定 Sentinel 控制台端口为 8080,如若8080端口冲突,可使用 -Dserver.port=新端口 进行设置。。
-Dcsp.sentinel.dashboard.server=localhost:8080 #指定控制台地址和端口,会自动向该地址发送心跳包。地址格式为:hostIp:port #配置成ocalhost:8080即监控自己
-Dproject.name=sentinel-dashboard #指定Sentinel控制台程序显示的名称

这里注意: 部分小伙伴启动会报错,大部分原因都是jdk版本问题

// 指定jdk版本
set Path=jdk8以上版本\bin

3>通过浏览器访问localhost:8080 进入控制台 ( 默认用户名密码是 sentinel/sentinel )

注意: 默认是没显示order-service的,需要访问几次接口,然后再刷新sentinel管控台才可以看到.

Sentinel规则种类

Sentinel主要提供了这五种的流量控制

Sentinel控制实现原理

好,到这,Sentinel 基本概念介绍完成,下一篇就是sentinel流控操作了。

 看文字不过瘾可以切换视频版:SpringCloud Alibaba 极简入门

微服务守护神-Sentinel-概念相关推荐

  1. 哨兵 双向 java_SpringCloud微服务:Sentinel哨兵组件,管理服务限流和降级

    一.基本简介 1.概念描述 Sentinel 以流量为切入点,从流量控制.熔断降级.系统负载保护等多个维度保护服务的稳定性.包括核心的独立类库,监控台,丰富的使用场景验证.(这似乎是阿里开源组件的一贯 ...

  2. 微服务守护神-Sentinel-流控规则

    引言 书接上篇微服务守护神-Sentinel-概念,上面介绍了Sentinel相关概念,本篇就来看下Sentinel的流控规则. 流控规则 流量控制,其原理是监控应用流量的QPS(每秒查询率) 或并发 ...

  3. Spring Cloud微服务笔记(一)微服务与云概念

    微服务与云概念 一.微服务 一.什么是微服务架构 微服务,是一个小的.松耦合的分布式服务. 为什么需要微服务: 1)单体系统部署在一个进程中,修改了一个小功能,为了部署上线就会影响其他功能. 2)单体 ...

  4. Alibaba微服务组件Sentinel

    Alibaba微服务组件Sentinel 1.分布式系统遇到的问题 服务的可用性问题 ​ 提供系统可用性的关键是在相关组件失效情况下,系统能多快恢复并继续正确提供服务.当服务器挂掉的时候首先想到什么原 ...

  5. java服务限流_SpringCloud微服务:Sentinel哨兵组件,管理服务限流和降级

    一.基本简介 1.概念描述 sentinel 以流量为切入点,从流量控制.熔断降级.系统负载保护等多个维度保护服务的稳定性.包括核心的独立类库,监控台,丰富的使用场景验证.(这似乎是阿里开源组件的一贯 ...

  6. SpringCloud微服务:Sentinel哨兵组件,管理服务限流和降级

    源码地址:GitHub·点这里||GitEE·点这里 一.基本简介 1.概念描述 Sentinel 以流量为切入点,从流量控制.熔断降级.系统负载保护等多个维度保护服务的稳定性.包括核心的独立类库,监 ...

  7. Spring Cloud Alibaba 实战 | 第十二篇: 微服务整合Sentinel的流控、熔断降级,赋能拥有降级功能的Feign新技能熔断,实现熔断降级双剑合璧(JMeter模拟测试)

    文章目录 一. Sentinel概念 1. 什么是Sentinel? 2. Sentinel功能特性 3. Sentinel VS Hystrix 二. Docker部署Sentinel Dashbo ...

  8. Java微服务学习笔记(一):微服务架构的概念理解

    Java微服务学习笔记 Tips:入门学习时粗略整理,仅供参考 (一):架构的基础理解 文章目录 Java微服务学习笔记 前言 一.微服务是什么? 二.常用开源微服务框架演化 1. Dubbo 2. ...

  9. 集群服务器分布式iis_集群,分布式,微服务,SOA概念

    概念: 分布式:一个业务分拆多个子业务,部署在不同的服务器上 集群:同一个业务,部署在多个服务器上 1:分布式是指将不同的业务分布在不同的地方.而集群指的是将几台服务器集中在一起,实现同一业务. 分布 ...

  10. Spring Cloud构建微服务架构:消息驱动的微服务(核心概念)【Dalston版】

    通过<Spring Cloud构建微服务架构:消息驱动的微服务(入门)>一文,相信大家对Spring Cloud Stream的工作模式已经有了一些基础概念,比如:输入.输出通道的绑定,通 ...

最新文章

  1. WF4.0实战(四):博客申请流程
  2. Kylin的cube模型
  3. Android开源介绍-UI组件
  4. MyBatis设计模式总结
  5. mysql active推送消息_java实现基于activeMQ的消息推送
  6. 自动驾驶 2-1 传感器和计算硬件 Sensors and Computing Hardware
  7. 早该知道的7个JavaScript技巧
  8. Tomcat安装及idea配置教程
  9. 多普勒优化的非匹配滤波器
  10. Java方法变量中的final
  11. Java开发-使用Java语言实现刷微信跳一跳小游戏的分数
  12. 天齐锂业通过聆讯:单季净利33亿 蒋卫平夫妇身价超500亿
  13. 家庭局域网_玩转Windows 10家庭组,轻松共享局域网资源,人人都可以做到
  14. DOM事件+正则表达式
  15. 微信小程序-全局分享、自定义分享
  16. UID GID 说明及例子
  17. 传奇人物赫伯特·西蒙的原则
  18. CPU load高但CPU usage低问题排查
  19. jsp 按照学号查找学生_jsp+mysql添加查询代码,并把查询结果返回当前页面,可以按学号,姓名或成绩查询...
  20. ArcGIS总结——矢量数据分析之网络分析(上)

热门文章

  1. 基于ENVI下的土地利用信息提取(一)
  2. 牛客 | C 选择颜色
  3. 装备购买(BZOJ4004)高斯消元+ 贪心
  4. html5闪光效果,HTML5 canvas元素背景梦幻小星星闪烁特效
  5. java满天星星闪烁_夜空当中满天的星星为什么会闪烁?
  6. HR必备基础能力之人性
  7. 如何让Bing快速收录你的网站?
  8. 网络宽带和实际下载速度单位换算详解:
  9. c# 试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)
  10. linux更改ntfs格式权限,Gentoo Linux下读写NTFS格式分区(ntfs-3g解决NTFS只读不可写的问题)...