首页 > 其他分享 >sentinel配置持久化

sentinel配置持久化

时间:2022-12-19 17:58:14浏览次数:58  
标签:持久 spring 配置 nacos server sentinel password cloud

sentinel配置持久化到nacos

本次针对网关进行限流
本次版本
<java.version>1.8</java.version>
<spring-boot.version>2.2.5.RELEASE</spring-boot.version>
<spring-cloud.version>Hoxton.SR3</spring-cloud.version>
<spring-cloud-alibaba.version>2.2.4.RELEASE</spring-cloud-alibaba.version>

gateway pom依赖


<!-- SpringCloud Ailibaba Sentinel -->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>

<!-- SpringCloud Ailibaba Sentinel Gateway -->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-alibaba-sentinel-gateway</artifactId>
</dependency>

<!-- Sentinel Datasource Nacos -->
<dependency>
    <groupId>com.alibaba.csp</groupId>
    <artifactId>sentinel-datasource-nacos</artifactId>
</dependency>

<!-- SpringBoot Actuator -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

gateway配置

注意要在每个微服务的启动参数添加此服务和dashboard交互的ip,端口可以不写,冲突会自动+1,注意ip不要写127.0.0.1,要写实际可以交互的ip地址,端口要开防火墙
spring.cloud.sentinel.transport.clientIp: 172.31.237.102

spring:
  cloud:
    sentinel:
      enabled: false
      # 取消控制台懒加载
      eager: true
      filter:
        enabled: false
      web-context-unify: false
      transport:
        # 控制台地址
        dashboard: 172.31.237.100:8080
      # nacos配置持久化
      datasource:
        flow:
          nacos:
            namespace: sentinel
            server-addr: ${spring.cloud.nacos.config.server-addr}
            dataId: ${spring.application.name}-flow-rules
            username: ${spring.cloud.nacos.username}
            password: ${spring.cloud.nacos.password}
            groupId: SENTINEL_GROUP
            # 规则类型,取值见:
            # com.alibaba.cloud.sentinel.datasource.RuleType
            rule-type: flow
            data-type: json
        gw-flow:
          nacos:
            namespace: sentinel
            server-addr: ${spring.cloud.nacos.config.server-addr}
            dataId: ${spring.application.name}-gw-flow-rules
            username: ${spring.cloud.nacos.username}
            password: ${spring.cloud.nacos.password}
            groupId: SENTINEL_GROUP
            rule-type: gw-flow
            data-type: json
        gw-api-group:
          nacos:
            namespace: sentinel
            server-addr: ${spring.cloud.nacos.config.server-addr}
            dataId: ${spring.application.name}-gateway-api-group-rules
            username: ${spring.cloud.nacos.username}
            password: ${spring.cloud.nacos.password}
            groupId: SENTINEL_GROUP
            rule-type: param-flow
            data-type: json
        degrade:
          nacos:
            namespace: sentinel
            server-addr: ${spring.cloud.nacos.config.server-addr}
            dataId: ${spring.application.name}-degrade-rules
            username: ${spring.cloud.nacos.username}
            password: ${spring.cloud.nacos.password}
            groupId: SENTINEL_GROUP
            rule-type: degrade
            data-type: json
        system:
          nacos:
            namespace: sentinel
            server-addr: ${spring.cloud.nacos.config.server-addr}
            dataId: ${spring.application.name}-system-rules
            username: ${spring.cloud.nacos.username}
            password: ${spring.cloud.nacos.password}
            groupId: SENTINEL_GROUP
            rule-type: system
            data-type: json
        authority:
          nacos:
            namespace: sentinel
            server-addr: ${spring.cloud.nacos.config.server-addr}
            dataId: ${spring.application.name}-authority-rules
            username: ${spring.cloud.nacos.username}
            password: ${spring.cloud.nacos.password}
            groupId: SENTINEL_GROUP
            rule-type: authority
            data-type: json
        param-flow:
          nacos:
            namespace: sentinel
            server-addr: ${spring.cloud.nacos.config.server-addr}
            dataId: ${spring.application.name}-param-flow-rules
            username: ${spring.cloud.nacos.username}
            password: ${spring.cloud.nacos.password}
            groupId: SENTINEL_GROUP
            rule-type: param-flow
            data-type: json

dashboard配置持久化到nacos

为了可以在dashboard中统一配置

  • 官方发布的dashboard是在内存中处理配置,服务重启后配置消失,所以需要改造源码把dashboard的配置写入nacos
  • 这里提供我改在好的dashboard源码

dashboard启动

# kill进程 
PID=`ps -ef | grep "sentinel-dashboard.jar" | grep -v "grep" | awk '{print $2}'`
if [ -n "${PID}" ]
then
    kill -9 ${PID}
fi

nohup java -jar /root/sentinel-dashboard.jar \
-Xmx1g -Xms1g \
--server.port=8080 \
--sentinel.datasource.nacos.server-addr=172.31.237.101:80 \
--sentinel.datasource.nacos.namespace=sentinel \
--sentinel.datasource.nacos.username= \
--sentinel.datasource.nacos.password= \
>/dev/null 2>&1 &

标签:持久,spring,配置,nacos,server,sentinel,password,cloud
From: https://www.cnblogs.com/lyalong/p/16992727.html

相关文章

  • QT在windows下的安装与配置
    先了解Qt:        Qt一直以来,分为商业、开源两个版本,商业版本为用户提供了二级制的动态库,直接安装既可以使用,但是需要花钱购买license,而开源版本则遵守GPL协议,提供......
  • VC6.0配置OpenGL
     OpenGL官网:​​http://www.opengl.org​​ 个人环境配置:VC6.0+GLUT3.7注明:GLUTGLUT是OpenGL应用工具包,英文全称为OpenGLUtilityToolkit,是一个和窗口系统无关的软件......
  • 深入浅出Mybatis系列(四)---配置详解之typeAliases别名(mybatis源码篇)
    摘要: 深入浅出Mybatis系列(四)---配置详解之typeAliases别名(mybatis源码篇)上篇文章《深入浅出Mybatis系列(三)---配置详解之properties与environments(mybatis源码篇)》介......
  • mybatis的快速入门配置,以及其中的配置讲解
    Mybatis的快速入门配置,以及其中的配置理解1.快速入门案例(未使用mapper代理方式)​ (1).新建数据库,以及相关的表CREATETABLE`tb_user`(`id`int(11)NOTNULL......
  • nrm安装与配置
    1、nrm介绍nrm(npmregistrymanager)是npm的镜像源管理工具,使用这个就可以快速地在 npm 源间切换2,nrm安装在命令行执行命令,npminstall-gnrm,全局安装nrm。安装......
  • Eclipse下载安装和JDK下载安装(环境配置)及下载C++插件CDT
    一、什么是JDKJDK是Java语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA......
  • mybatis源码分析之配置文件解析
    一、简介我们上一个篇文章已经配置好了,​​mybatis​​​配置文件和测试类。我们先分析一下​​mybatis​​​的是如何加载​​mybatis-config.xml​​文件的。Stringresou......
  • vim插件配置
    配置的比较简单,主要有三个功能:背景主题,目录树和代码补全(c++,python)先安装vim-plug,用来管理插件 https://github.com/junegunn/vim-plug先创建路径~/.vim/autoload然后将......
  • Python的安装与配置(图文教程)
    安装Python想要进行Python开发,首先需要下载和配置Python解释器。下载Python访问Python官网:https://www.python.org/点击downloads按钮,在下拉框中选择系统类型(windo......
  • ReactNative(三)——WebStorm的基本配置
    设置.js文件默认以jsx的语法打开在没有进行设置的情况下,每次打开WebStorm的时候打开包含jsx语法的.js文件都会有以下提示:当然我们点击转换后就可以了,但是每次都会提示,所以还......