当前位置: 首页 > news >正文

宁波住房和建设局网站天津开发网站公司

宁波住房和建设局网站,天津开发网站公司,企业网站开发北京,2017年做网站维护总结本文介绍sentinel配置数据的持久化方法。由于sentinel官方并没有提供持久化功能,大家在测试过程中也能发现sentinel服务重启后,原来配置的数据就丢了,本文就是来处理这一问题的。 做好心理准备,我们要修改sentinel的源代码&#…

本文介绍sentinel配置数据的持久化方法。由于sentinel官方并没有提供持久化功能,大家在测试过程中也能发现sentinel服务重启后,原来配置的数据就丢了,本文就是来处理这一问题的。

做好心理准备,我们要修改sentinel的源代码,是不是感觉高大上。

0、环境

  • jdk 1.8
  • sentinel 1.8.2
  • nacos 2.0.3
  • mysql 8.0.29

1、sentinel源码下载

点击链接:sentinel源码下载。

2、修改sentinel源代码

下载完成后,解压源代码,找到sentinel-dashboard目录,再用idea(你可以用任何你喜欢的工具)打开,等待maven下载依赖完成。完成后,按以下步骤开始改造:

2.1、修改pom.xml依赖

找到sentinel-datasource-nacos,注释掉test scope,如下代码:

<dependency><groupId>com.alibaba.csp</groupId><artifactId>sentinel-datasource-nacos</artifactId><!--便于与nacos集成,注释掉test期<scope>test</scope> -->
</dependency>

2.2、复制nacos包

打开sentinel-dashboard项目下的test目录,找到com.alibaba.csp.sentinel.dashboard.rule.nacos包,复制这个包,复制到main目录下,包名和测试目录保持一致。复制完成后,如下图:
在这里插入图片描述

2.3、修改NacosConfig

如上图,打开NacosConfig类,找到nacosConfigService(), 按以下代码修改:

 @Beanpublic ConfigService nacosConfigService() throws Exception {//添加nacos配置//注意,这里硬编码,你可以用配置文件的方式Properties prop = new Properties();prop.setProperty("serverAddr", "localhost:8848");prop.setProperty("namespace", "dev");return ConfigFactory.createConfigService(prop);}

2.4、修改controller

找到FlowControllerV2类,位于com.alibaba.csp.sentinel.dashboard.controller.v2包下。按如下代码修改:
在这里插入图片描述
至此,sentinel后端改造完成。

2. 5、前端页面改造

找到sidebar.html文件,位于**sentinel-dashboard/src/main/webapp/resources/app/scripts/directives/sidebar/**目录下。加入如下代码:

<li ui-sref-active="active"><a ui-sref="dashboard.flow({app: entry.app})"><i class="glyphicon glyphicon-filter"></i>&nbsp;&nbsp;流控规则--持久化版</a>
</li>

到这里,sentinel的持久化就改造完成了,注意,只有上面我们刚刚加的那个目录支持。

现在可以打包了,用idea或mvn 命令行都行,打包成功后,在target目录能找到对应的jar文件。

3、微服务改造

从这里开始,改造我们的微服务,按以下步骤来:

3.1、添加依赖

<dependency><groupId>com.alibaba.csp</groupId><artifactId>sentinel-datasource-nacos</artifactId><version>1.8.0</version>
</dependency>

3.2、添加配置

在application.yml文件中,加入以下配置:

spring:cloud:sentinel:transport:port: 8719dashboard: localhost:8080datasource:my-flow:nacos:# 注意,这里的配置,要和NacosConfig里写的一致server-addr: localhost:8848namespace: dev# 在NacosConfigUtil中定义,这里的配置要和类中保持一致groupId: SENTINEL_GROUPdataId: ${spring.application.name}-flow-rulesrule-type: flow

注意事项我已经写了注释。

4、测试

结合上面的一系列改造,现在终于可以测试了,先跑起来改造后的sentinel-dashboard。关于nacos的配置,请参见我的另一篇博文: nacos环境搭建。

4.1、跑sentinel-dashboard

执行如下命令:

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

注意,这里一定是改造后的jar包!浏览器登录后,如下图效果:
在这里插入图片描述
下面手动添加一个规则

4.2、添加规则

在这里插入图片描述
保存后,再打开nacos ,打开config配置,如下图:
在这里插入图片描述
可以看到,刚才配置的限流规则已经同步到nacos里了。OK!

http://www.yayakq.cn/news/648796/

相关文章:

  • 网站结构 seo做兼职的网站有哪些工作内容
  • 刚创业 建网站品牌网页
  • 商业网站开发 说课wordpress 手机版域名
  • 珠海汽车网站建设银川注册公司流程和费用
  • 制作网站用c 做前台企业查询卡在哪里打印
  • c2c网站的功能枣庄网络推广
  • 推广平台网站天柱县住房和城乡建设部网站
  • 本地电脑做视频网站 外网连接六安网站推广
  • 2015百度竞价单页面网站模板源码设计江苏建站管理系统开发
  • 为什么要给企业建设网站?株洲荷塘区
  • 个人网站更换域名网站推广的预算
  • 上海网站开发孵化百度云加速 wordpress
  • 建设网站一般要多钱wordpress foxplayer
  • 顺德网站建设包括哪些最简单的网站模板下载
  • 查看网站浏览量合肥搜索引擎推广
  • 云南专业网站建设网站开发非常之旅:ajax从入门到精通 pdf
  • 多语言网站难做么企业商城网站开发建设
  • 泰安网站推广优化济南专业网站制作公司
  • 网站建设的安全性问题网站备案安全责任书是谁盖章
  • 深圳建网站网站开发人员绩效如何计算
  • 网站开发 手把手晋中网站建设哪家强
  • 用什么开源框架做网站seo网络科技有限公司
  • 建设厅网站沙场限期通知书磁力搜索神器
  • 自行车网站模板wordpress dux5.1
  • 模板网站如何建设wordpress页面如何显示分类目录
  • 工信部清理未备案网站php mysql怎么编写视频网站
  • 网站制作开发教程找承包工程的平台
  • 电商网站建设哪好郑州app软件定制开发
  • 网站海报是怎么做的百度添加网站
  • 手机网站推广服务个人微信公众号注册