在项目中整合Sentienl(整体梳理)

本文主要是对Sentinel整个集成过程的回顾整理,描述Sentinel在系统中的位置以及Sentinel-dashboard和Sentinel-client的数据流转和交互逻辑,便于后面文章的理解和在项目中实际集成。

1、系统整体框架图

常规的微服务体系框架图如下,Sentinel支持的限流的地方有两处:

一、Nginx到API网关

二、网关到微服务提供层

Sentinel目前对于网关层和微服务层的限流有比较好的支持,集成比较方便。

2、Sentinel控制台和客户端的关系图

整体的数据流转如下图,Sentinel客户端启动后注册到控制台,控制台配置相应的流控规则,并保存到Nacos,Sentinel客户端从Nacos读取配置的限流规则,从而根据规则对自身服务进行限流。

从上图可以看到,涉及到地方主要有三块:

一:保存规则的地方(Nacos,还有很多其他的组件);

二:配置规则的地方(Sentinel控制台,官方有提供对应的jar包和源码);

三:实际的服务(从系统框架图知道,可以是Gateway,也可以是实际的微服务)集成sentinel

3、在项目中整合Sentinel具体要做的事情

1、需要安装和配置Nacos

2、改造Sentinel控制台

  2.1、官网下载Sentinel-dashboard源码

  2.2、流控规则持久化到Nacos(官方源码,规则是保存在内存里面,重启服务就会导致规则丢失)

  2.3、修改控制台页面Controller接口中的逻辑(各个规则的增删改查接口,将内存的操作,全部修改为到Nacos)

  2.4、打成jar包后部署到服务器

3、Sentinel客户端整合(这里可以选择整合到网关或者是实际的微服务)

  3.1、项目中引入Sentinel相关pom依赖

  3.2、增加相应的代码配置

  3.3、Sentinel控制台和Nacos相关配置

后面的文章会涉及详细的过程,包括改造Sentinel控制台、网关整合Sentinel、微服务整合Sentinel

 

posted @ 2022-09-01 16:10  浪迹天涯的派大星  阅读(428)  评论(0编辑  收藏  举报