spring cloud alibaba 整合 nacos 和 sentinel

Sentinel 是什么?

Sentinel 是面向分布式服务架构的流量控制组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来保障微服务的稳定性。

Sentinel 基本概念

资源

它可以是Java应用程序的任何内容,只要通过 Sentinel API 定义的代码,就是资源,能够被Sentinel保护起来。大部分情况下,可以使用方法签名、URL,甚至服务名称作为资源名来标识资源。

规则

围绕资源的实时状态设定规则,可以包括流量控制规则、熔断降级规则以及系统保护规则。所有规则可以动态实时调整。

Sentinel 功能和设计理念

流量控制

什么是流量控制

在网络传输中,流量控制用于调整网络包的发送数据。
Sentinel 作为调配器,可以根据系统的处理能力对流量进行控制。

流量控制的设计理念

流量控制有以下几个角度:

  • 资源的调用关系,例如资源的调用链路、资源和资源之间的关系
  • 运行指标,例如QPS、线程池、系统负载等。
  • 控制的效果

提 示 : \color{orange}{提示:} QPS (Query per second 每秒查询率) 是对一个特定的查询服务器在规定事件内所处理流量多少的衡量标准。例如域名系统服务器的性能就用 QPS 来衡量。

Sentinel 的设计理念是让您自由选择控制的角度,并进行灵活的组合、从而达到想要的效果。

熔断降级

什么是熔断降级

当检测到调用链路中某个资源出现不稳定的表现,例如请求响应时间长、异常比例升高的时候,则对这个资源的调用进行限制,让请求快速失败,避免影响到其他的资源而导致级联故障。

熔断降级的设计理念

Sentinel 针对通过线程池隔离所产生的缺点采取以下解决方法:

  • 通过并发线程数进行限制
    Sentinel 通过限制资源并发线程的数量,来减少不稳定资源对其他资源的影响,当某个资源出现不稳定的情况下,例如响应时间变长,对资源的直接影响就是会造成线程数的逐步堆积,当线程数在特定的资源上堆积到一定的数量之后,对该资源的新请求就会被拒绝。堆积的线程完成任务后才开始继续接收请求。
  • 通过响应时间对资源进行降级
    Sentinel 还可以通过响应时间来快速降级不稳的资源,当依赖的资源出现响应时间过长之后,所有对该资源的访问都会被拒绝,直到过了指定的时间窗口之后才重新恢复。

系统自适应保护

Sentinel 同时提供系统维度的自适应保护能力。为了不使处于饱和边缘系统出现雪崩,Sentinel 提供了对应的额保护机制,让系统的入口流量和系统的负载达到一个平衡,保证系统在能力范围之内处理最多的请求。

Sentinel 是如何工作的

Sentinel 的主要工作机制:

  • 对主流框架提供适配或显示的API,来定义需要保护的资源,并提供设施对资源进行实时统计和调用链路分析。
  • 根据预设的规则,结合对资源的实时统计信息,对流量进行控制。同时,Sentinel 提供开放的接口,方便您定义及改变规则。
  • Sentinel 提供实时的监控系统,方便您快速了解目前系统的状态。

Sentinel 控制台

  1. 安装 Sentinel

    • 源码编译
      git clone https://github.com/alibaba/Sentinel.git
      
      cd Sentinel-1.8.0/sentinel-dashboard
      
      mvn clean package
      
    • 获取可执行 jar 包
      点击下载 1.8.0 版本的jar包
  2. 启动 Sentinel

    java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard.jar
    

nacos 介绍与配置

点击查看 nacos教程

实现效果

chrome-nacos-sentinel

源码下载

spring cloud alibaba 整合 sentinel 和 nacos 的源码

参考文献

Sentinel 官方教程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

高建伟-joe

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值