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

分析网站结构做阀门网站效果怎么样

分析网站结构,做阀门网站效果怎么样,江苏省灌云建设局5.0网站,公司网站建设模板官方参考文档#xff1a; 动态规则扩展 alibaba/Sentinel Wiki GitHub 需要修改的代码如下#xff1a; 为了便于后续版本集成nacos#xff0c;简单讲一下集成思路 1.更改pom 修改sentinel-datasource-nacos的范围 将 dependencygroupIdcom.alibaba.c…官方参考文档 动态规则扩展 · alibaba/Sentinel Wiki · GitHub 需要修改的代码如下 为了便于后续版本集成nacos简单讲一下集成思路 1.更改pom 修改sentinel-datasource-nacos的范围 将 dependencygroupIdcom.alibaba.csp/groupIdartifactIdsentinel-datasource-nacos/artifactIdscopetest/scope /dependency 改为 dependencygroupIdcom.alibaba.csp/groupIdartifactIdsentinel-datasource-nacos/artifactId!--scopetest/scope-- /dependency 2.拷贝示例 将test目录下的com.alibaba.csp.sentinel.dashboard.rule.nacos包下的内容拷贝到src的 com.alibaba.csp.sentinel.dashboard.rule的目录 test目录只包含限流其他规则参照创建即可。 创建时注意修改常量并且在NacosConfig实现各种converter 注意授权规则和热点规则需要特殊处理否则nacos配置不生效。 因为授权规则Entity比流控规则Entity多包了一层。 public class FlowRuleEntity implements RuleEntity public class AuthorityRuleEntity extends AbstractRuleEntityAuthorityRule 以授权规则为例 AuthorityRuleNacosProvider.java /** Copyright 1999-2018 Alibaba Group Holding Ltd.** Licensed under the Apache License, Version 2.0 (the License);* you may not use this file except in compliance with the License.* You may obtain a copy of the License at** http://www.apache.org/licenses/LICENSE-2.0** Unless required by applicable law or agreed to in writing, software* distributed under the License is distributed on an AS IS BASIS,* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.* See the License for the specific language governing permissions and* limitations under the License.*/ package com.alibaba.csp.sentinel.dashboard.rule.nacos.authority;import com.alibaba.csp.sentinel.dashboard.datasource.entity.rule.AuthorityRuleEntity; import com.alibaba.csp.sentinel.dashboard.rule.DynamicRuleProvider; import com.alibaba.csp.sentinel.dashboard.rule.nacos.NacosConfigUtil; import com.alibaba.csp.sentinel.datasource.Converter; import com.alibaba.csp.sentinel.slots.block.authority.AuthorityRule; import com.alibaba.csp.sentinel.util.StringUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.alibaba.nacos.api.config.ConfigService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component;import java.util.ArrayList; import java.util.List;/*** author Eric Zhao* since 1.4.0*/ Component(authorityRuleNacosProvider) public class AuthorityRuleNacosProvider implements DynamicRuleProviderListAuthorityRuleEntity {Autowiredprivate ConfigService configService;Autowiredprivate ConverterString, ListAuthorityRuleEntity converter;Overridepublic ListAuthorityRuleEntity getRules(String appName) throws Exception {String rules configService.getConfig(appName NacosConfigUtil.AUTHORITY_DATA_ID_POSTFIX,NacosConfigUtil.GROUP_ID, 3000);if (StringUtil.isEmpty(rules)) {return new ArrayList();}return converter.convert(this.parseRules(rules));}private String parseRules(String rules) {JSONArray newRuleJsons new JSONArray();JSONArray ruleJsons JSONArray.parseArray(rules);for (int i 0; i ruleJsons.size(); i) {JSONObject ruleJson ruleJsons.getJSONObject(i);AuthorityRuleEntity ruleEntity JSON.parseObject(ruleJson.toJSONString(), AuthorityRuleEntity.class);JSONObject newRuleJson JSON.parseObject(JSON.toJSONString(ruleEntity));AuthorityRule rule JSON.parseObject(ruleJson.toJSONString(), AuthorityRule.class);newRuleJson.put(rule, rule);newRuleJsons.add(newRuleJson);}return newRuleJsons.toJSONString();} } AuthorityRuleNacosPublisher.java /** Copyright 1999-2018 Alibaba Group Holding Ltd.** Licensed under the Apache License, Version 2.0 (the License);* you may not use this file except in compliance with the License.* You may obtain a copy of the License at** http://www.apache.org/licenses/LICENSE-2.0** Unless required by applicable law or agreed to in writing, software* distributed under the License is distributed on an AS IS BASIS,* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.* See the License for the specific language governing permissions and* limitations under the License.*/ package com.alibaba.csp.sentinel.dashboard.rule.nacos.authority;import com.alibaba.csp.sentinel.dashboard.datasource.entity.rule.AuthorityRuleEntity; import com.alibaba.csp.sentinel.dashboard.rule.DynamicRulePublisher; import com.alibaba.csp.sentinel.dashboard.rule.nacos.NacosConfigUtil; import com.alibaba.csp.sentinel.datasource.Converter; import com.alibaba.csp.sentinel.util.AssertUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.alibaba.nacos.api.config.ConfigService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component;import java.util.List;/*** author Eric Zhao* since 1.4.0*/ Component(authorityRuleNacosPublisher) public class AuthorityRuleNacosPublisher implements DynamicRulePublisherListAuthorityRuleEntity {Autowiredprivate ConfigService configService;Autowiredprivate ConverterListAuthorityRuleEntity, String converter;Overridepublic void publish(String app, ListAuthorityRuleEntity rules) throws Exception {AssertUtil.notEmpty(app, app name cannot be empty);if (rules null) {return;}configService.publishConfig(app NacosConfigUtil.AUTHORITY_DATA_ID_POSTFIX,NacosConfigUtil.GROUP_ID, this.parseRules(converter.convert(rules)));}private String parseRules(String rules) {JSONArray oldRuleJsons JSONArray.parseArray(rules);for (int i 0; i oldRuleJsons.size(); i) {JSONObject oldRuleJson oldRuleJsons.getJSONObject(i);JSONObject ruleJson oldRuleJson.getJSONObject(rule);oldRuleJson.putAll(ruleJson);oldRuleJson.remove(rule);}return oldRuleJsons.toJSONString();} } 热点规则同理 3.修改controller v2目录的FlowControllerV2 将 AutowiredQualifier(flowRuleDefaultProvider)private DynamicRuleProviderListFlowRuleEntity ruleProvider;AutowiredQualifier(flowRuleDefaultPublisher)private DynamicRulePublisherListFlowRuleEntity rulePublisher; 改为 AutowiredQualifier(flowRuleNacosProvider)private DynamicRuleProviderListFlowRuleEntity ruleProvider;AutowiredQualifier(flowRuleNacosPublisher)private DynamicRulePublisherListFlowRuleEntity rulePublisher; controller目录的其他controller包括 AuthorityRuleController DegradeController FlowControllerV1 ParamFlowRuleController SystemController 做如下更改(以DegradeController为例) 将 Autowiredprivate SentinelApiClient sentinelApiClient; 改成 AutowiredQualifier(degradeRuleNacosProvider)private DynamicRuleProviderListDegradeRuleEntity ruleProvider;AutowiredQualifier(degradeRuleNacosPublisher)private DynamicRulePublisherListDegradeRuleEntity rulePublisher; 将原有publishRules方法删除统一改成 private void publishRules(/*NonNull*/ String app) throws Exception {ListDegradeRuleEntity rules repository.findAllByApp(app);rulePublisher.publish(app, rules);} 之后解决报错的地方即可。 获取所有rules的地方 将 ListDegradeRuleEntity rules sentinelApiClient.fetchDegradeRuleOfMachine(app, ip, port); 改成 ListDegradeRuleEntity rules ruleProvider.getRules(app); 原有调用publishRules方法的地方删除掉 在上一个try catch方法里加上 publishRules(entity.getApp()); 这里的entity.getApp()也有可能是oldEntity.getApp()/app等变量。根据删除的publishRules代码片段推测即可。 4.修改前端文件 文件路径:src/main/webapp/resources/app/scripts/directives/sidebar/sidebar.html 将 a ui-srefdashboard.flowV1({app: entry.app}) 改成 a ui-srefdashboard.flow({app: entry.app}) 5.最后打包即可 执行命令打包成jar mvn clean package 运行方法与官方jar一致不做赘述 6.微服务程序集成 pom.xml添加 dependencygroupIdcom.alibaba.csp/groupIdartifactIdsentinel-datasource-nacos/artifactId/dependency 配置文件application.yml添加 spring:cloud:sentinel:datasource:# 名称随意flow:nacos:server-addr: localhost:8848dataId: ${spring.application.name}-flow-rulesgroupId: SENTINEL_GROUP# 规则类型取值见# org.springframework.cloud.alibaba.sentinel.datasource.RuleTyperule-type: flowdegrade:nacos:server-addr: localhost:8848dataId: ${spring.application.name}-degrade-rulesgroupId: SENTINEL_GROUPrule-type: degradesystem:nacos:server-addr: localhost:8848dataId: ${spring.application.name}-system-rulesgroupId: SENTINEL_GROUPrule-type: systemauthority:nacos:server-addr: localhost:8848dataId: ${spring.application.name}-authority-rulesgroupId: SENTINEL_GROUPrule-type: authorityparam-flow:nacos:server-addr: localhost:8848dataId: ${spring.application.name}-param-flow-rulesgroupId: SENTINEL_GROUPrule-type: param-flow 7.测试验证 在sentinel控制台界面添加几个流控规则后尝试关闭微服务和sentinel然后重新打开sentinel和微服务看流控规则是否还在。 8.最后把配置好的代码发给大家大家可以自行下载里边有运行访问流程 https://download.csdn.net/download/qq_34091529/88482757
http://www.pierceye.com/news/498986/

相关文章:

  • 微网站建设资讯网页游戏开发教程
  • 网站建设评估百度公司地址
  • python 做网站开发吗搜房网网站跳出率
  • 深圳企业模板网站建设做高性能的网站 哪门语言好
  • 网站后台不能上传微信公众平台网页版登陆
  • 广州网站营销seo费用成都建设网站那家好
  • 网站建设规划书结构简单wordpress
  • 域名注册网站哪个好山东淄博网络科技有限公司
  • 固始县网站建设培训怎么制作网站首页
  • 产品经理做网站三河市最新消息
  • 做新闻类网站需要什么资质如何外贸seo网站建设
  • 注册网站流程和费用百度seo关键词排名s
  • 做推广网站的去哪能买到有效资料苏州建设网站找网络公司
  • vs做网站如何输出怎么做flash网站
  • 网站做政务广告传媒公司简介ppt
  • 番茄网络营销策划方案seo网站培训
  • 自己做一网站高唐网页定制
  • 快速网站seo效果什么是网络营销与概念
  • 个体网站建设企业网站做的好的有什么公司
  • 建设银行网站短信错误6次wordpress个人淘客
  • 让网站快速收录最新集团公司网站案例
  • 网站开发公司长春高校 网站建设实施方案
  • 我做的网站打开慢怎么处理防控措施有这些优化
  • 网站的登录界面是怎么做的网站开发 职位
  • 西安英文网站制作企业年报申报入口官网
  • 做一网站多少钱企业官方网站建设教程
  • 自己建的网站能用吗海南网站建设哪家好
  • 网络公司网站模板html网站制作 数据库
  • 温州哪里有网站优化南通营销网站建设
  • 怎么在网站标头做图标wordpress 远程数据库