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

海外网站cdn加速南京制作网站服务商

海外网站cdn加速,南京制作网站服务商,天津设计公司,属于网站开发工具的是前言 在前面我们已经将Sentinel配置的规则持久化到系统的文件中。本章节我们将Sentinel持久化到Nacos中; 传送门(Sentinel数据持久化到文件)https://blog.csdn.net/weixin_45876411/article/details/140742963 默认情况下 Sentinel 只能接收到 Nacos 推送的消息#xff0c;但…前言 在前面我们已经将Sentinel配置的规则持久化到系统的文件中。本章节我们将Sentinel持久化到Nacos中; 传送门(Sentinel数据持久化到文件)https://blog.csdn.net/weixin_45876411/article/details/140742963 默认情况下 Sentinel 只能接收到 Nacos 推送的消息但不能将自己控制台修改的信息同步给 Nacos如下图所示 生产环境下为了更方便的操作需要将Sentinel控制台修改的规则也同步到Nacos所以在这种情况下我们就需要修改Sentinel的源码让其可以实现和 Nacos 的双向通讯如下图所示 版本信息 nacosnacos-server-2.4.0sentinelSentinel-1.8 sentinel规则持久化到nacos分为两个流程 流程一下载sentinel源码包改动源码使sentinel规则持久化支持使用nacos; 流程二项目配置sentinel规则持久化到nacos; 流程一(sentinel持久化到nacos) 1.下载并打开Sentinel源码 下载地址https://github.com/alibaba/Sentinel 目录结构 2.修改sentinel-dashboard服务的pom.xml PS因为官方提供的Nacos持久化实例是在test目录下进行单元测试的而我们是用于生产环境所以需要将 scope 中的 test 去掉。 3.移动单元测试代码 将 test/com.alibaba.csp.sentinel.dashboard.rule.nacos下所有文件复制到 src/main/java/com.alibaba.csp.sentinel.dashboard.rule 目录 nacos包中的4个类         FlowRuleNacosProvider 动态获取Nacos配置中心流控规则读取流控规则;        FlowRuleNacosPublisher publish上传流控规则到Nacos配置中心写入流控规则;        NacosConfig Nacos配置;        NacosConfigUtils 流控规则在nacos中配置文件的一些细节(后缀、组别等); 4.注释FlowRuleNacosProvider、FlowRuleNacosPublisher类中导入的NacosConfigUtil类 5.新建NacosPropertiesConfiguration文件 在src/main/java/com.alibaba.csp.sentinel.dashboard.rule中创建Nacos配置文件的读取类 import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Configuration; ConfigurationProperties(prefix sentinel.nacos) Configuration public class NacosPropertiesConfiguration {private String serverAddr;private String dataId;private String groupId;private String namespace;private String username;private String password;// Getter/Setterpublic String getServerAddr() {return serverAddr;}public void setServerAddr(String serverAddr) {this.serverAddr serverAddr;}public String getDataId() {return dataId;}public void setDataId(String dataId) {this.dataId dataId;}public String getGroupId() {return groupId;}public void setGroupId(String groupId) {this.groupId groupId;}public String getNamespace() {return namespace;}public void setNamespace(String namespace) {this.namespace namespace;}public String getUsername() {return username;}public void setUsername(String username) {this.username username;}public String getPassword() {return password;}public void setPassword(String password) {this.password password;} } 6.修改NacosConfig文件 修改内容 Beanpublic ConfigService nacosConfigService(NacosPropertiesConfiguration nacosPropertiesConfiguration) throws Exception {Properties properties new Properties();properties.put(PropertyKeyConst.SERVER_ADDR, nacosPropertiesConfiguration.getServerAddr());properties.put(PropertyKeyConst.NAMESPACE, nacosPropertiesConfiguration.getNamespace());properties.put(PropertyKeyConst.USERNAME,nacosPropertiesConfiguration.getUsername());properties.put(PropertyKeyConst.PASSWORD,nacosPropertiesConfiguration.getPassword());return ConfigFactory.createConfigService(properties);// return ConfigFactory.createConfigService(localhost); // 原代码} 7.修改FlowControllerV2文件 修改com.alibaba.csp.sentinel.dashboard.controller.v2目录下的FlowControllerV2 文件 添加内容 Autowired Qualifier(flowRuleNacosProvider) private DynamicRuleProviderListFlowRuleEntity ruleProvider; Autowired Qualifier(flowRuleNacosPublisher) private DynamicRulePublisherListFlowRuleEntity rulePublisher; PS此操作的目的是开启 Controller 层操作 Nacos 的开关。 8.修改配置信息 在application.properties中设置Nacos连接信息 # 新加Sentinel连接nacos配置 sentinel.nacos.serverAddrlocalhost:8848 sentinel.nacos.usernamenacos sentinel.nacos.passwordnacos sentinel.nacos.namespace sentinel.nacos.groupIdDEFAULT_GROUP sentinel.nacos.dataIdsentinel-dashboard-demo-sentinel 9.修改sidebar.html 修改webapp/resources/app/scripts/directives/sidebar/sidebar.html 文件 搜索“dashboard.flowV1”将其替换为“dashboard.flow” 10.修改identity.js dentity.js文件有两处修改它位于webapp/resources/app/scripts/controllers/identity.js 目录。 10.1 第一处修改 将“FlowServiceV1”替换为“FlowServiceV2” 10.2 第二处修改 搜索“/dashboard/flow/”替换为“/dashboard/v2/flow/” PS修改 identity.js 文件主要是用于在 Sentinel 点击资源的“流控”按钮添加规则后将信息同步给 Nacos。 11.打包sentinel-dashboard工程 12.启动工程 sentinel启动命令 java -Dserver.port8080 -Dcsp.sentinel.dashboard.serverlocalhost:8080 -Dproject.namesentinel-dashboard -jar sentinel-dashboard.jar 访问sentinel 流程二(项目集成sentinel持久化到nacos) 1.修改shop-order服务添加依赖 !--sentinel--dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-sentinel/artifactId/dependency!--sentinel集成nacos额外需要的依赖--dependencygroupIdcom.alibaba.csp/groupIdartifactIdsentinel-datasource-nacos/artifactIdversion1.8.0/version/dependency 2.修改shop-order服务application.yml配置 添加sentinel持久化到nacos配置并重启shop-order服务; 完整配置文件供参考 server:port: 8091 # 项目名称服务名称 spring:application:name: service-order# 配置nocos服务端地址cloud:nacos:discovery:server-addr: localhost:8848# sentinel配置sentinel:transport:port: 9999 # 当前微服务和sentinel控制台数据交互端口dashboard: localhost:8080 # 指定sentinel控制台服务的地址(与启动sentinel控制台命令配置的地址相同)eager: true # 关闭懒加载datasource:ds1:nacos:server-addr: localhost:8848 # nacos地址dataId: service-order-flow-rules # sentinel规则持久化到nacos中的dataId(即文件名),启动项目后会在相应组下创建此文件groupId: SENTINEL_GROUP # 上面dataId(文件)存放在nacos中的组名data-type: json # 存放在dataId文件中的内容格式rule-type: flow # 规则类型 # 数据库配置datasource:type: com.alibaba.druid.pool.DruidDataSourcedriverClassName: com.mysql.cj.jdbc.Driverdruid:url: jdbc:mysql://127.0.0.1:3306/shop?useSSLtrueuseUnicodetruecharacterEncodingutf8autoReconnecttruezeroDateTimeBehaviorconvertToNullrewriteBatchedStatementsTRUEallowMultiQueriestrueserverTimezoneAsia/Shanghaiusername: rootpassword: 123456# 初始连接数initialSize: 5# 最小连接池数量minIdle: 10# 最大连接池数量maxActive: 50# 配置获取连接等待超时的时间maxWait: 60000# 配置连接超时时间connectTimeout: 30000# 配置网络超时时间socketTimeout: 60000# 配置间隔多久才进行一次检测检测需要关闭的空闲连接单位是毫秒timeBetweenEvictionRunsMillis: 60000# 配置一个连接在池中最小生存的时间单位是毫秒minEvictableIdleTimeMillis: 300000# 配置一个连接在池中最大生存的时间单位是毫秒maxEvictableIdleTimeMillis: 900000# 配置检测连接是否有效validationQuery: SELECT 1 FROM DUALtestWhileIdle: truetestOnBorrow: falsetestOnReturn: false# ribbon负载均衡配置 service-product: # 服务提供方名称(即通过指定“服务名称”请求该服务时使用指定的负载均衡策略)ribbon:NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule # 负载均衡策略(随机) 补充说明上面配置文件中rule-type对应sentinel所有的流控规则类型其取值如下 3.观察Naocs中是否在SENTINEL_GROUP组下新建service-order-flow-rules文件 4.进入sentinel控制台中添加限流规则 为/order/message1接口添加流控规则(每秒访问频率1次) 5.查看Nacos中service-order-flow-rules文件中是否有刚添加的流控规则 6.访问/order/message1接口测试流控规则是否生效 7.重启shop-order服务再次访问/order/message1接口查看流控规则是否仍然生效(测试持久化) 文章结尾附 1.Sentinel-1.8.zip(源码未改动); 2.nacos-server-2.4.0.zip; 3.测试工程源码;
http://www.hkea.cn/news/14289967/

相关文章:

  • 全flash网站设计菏泽做公司简介网站
  • 学网站开发好吗旅者志 wordpress主题
  • 简约网站后台做村易通网站站长要收费吗?
  • 郑州建设网站有哪些wordpress 安全 插件
  • 网站建设公司的商业模式企业邮箱和个人邮箱的区别
  • 百度打网站名称就显示 如何做深圳知名网站建设哪家好
  • 设立网站做网站营业执照经营范围怎么填写
  • 手机网站 建设多少钱翻译英文
  • 建立网站代码网站页尾模板
  • 北京华夏工程建设监理公司网站查询网站是否备案
  • 做门户网站用什么系统asp网站 模板
  • 深圳企业网站建设怎么做霸州做网站1766534168
  • 做网站创意是什么意思永久免费虚拟主机
  • 通用网站建设需求分析24淘宝网站建设
  • 网站建设的行业市场的特点启航网站建设
  • 烹饪考试试卷哪个网站可以做做网站的公司如何推广
  • 如何在局域网建立网站wordpress 游戏主题
  • 制作一个网站的流程深圳seo网络推广营销
  • 网站建设使用的什么云南网站建设费用
  • 网站开发 文学wordpress幻灯片怎么建
  • 商务型企业网站建设职业学校查询网站
  • 电子书网站用dz还是wordpress全国十大装修公司
  • 网站开发的具体流程图中国纪检监察报多少钱一份
  • 动易初级中学网站模板cms 6.8自己的电脑做网站云存储
  • 东莞网站营销策划安全狗 网站打不开
  • 一流的句容网站建设沂源网站设计
  • 地方商城网站广州发布紧急通知
  • 国内各大网站菠菜网站的代理怎么做
  • 做网站大概需要多少费用seo整站优化推广
  • 商城网站怎么做的外贸平台都有什么网站