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

南网站建设阿里云注册域名

南网站建设,阿里云注册域名,做网站javaee,做网站优化的背景 最近引入了 Nacos Config 配置管理能力,说起来用法很简单,还是踩了三个坑。 Nacos Config 的 nacos 的帐号密码加密配置后,怎么解密而且在 NacosConfigBootstrapConfiguration 真正注入 Nacos Config 注入之前,而且不能触发…

背景

最近引入了 Nacos Config 配置管理能力,说起来用法很简单,还是踩了三个坑。

  1. Nacos Config 的 nacos 的帐号密码加密配置后,怎么解密而且在 NacosConfigBootstrapConfiguration 真正注入 Nacos Config 注入之前,而且不能触发 NacosDiscoveryPropertiesisNacosDiscoveryInfoChanged 变动事件。因为 NacosDiscoveryProperties 接受 NacosContextRefresher 事件时,还是从 yml 配置中获取属性,不会从 Environment 对象中加载。
  2. @RefreshScope 要想生效,该注意什么?非 shared-config 的配置变动时,要想实时生效,必须在当前应用的 bootstrap.yml 中配置 spring.application.name 属性,注册该应用在配置中心需要监听的配置。
  3. @RefreshScope + @LoadBalanced 同时使用导致 Ribbon 负载均衡失效问题。

问题一比较复杂,此处不做讨论,本文记录问题三的解决方法及个人思考。

问题

有个模块使用了 @LoadBalanced 负载均衡,通过配置控制超时时间。

引入 Nacos Config 配置后,按照常规用法,在对象上添加了 @RefreshScope 属性,希望配置变动时,能实时生效。

注入代码如下:

@Value("${rest.template.connect-timeout:10000}")
private Integer connectTimeout;@Value("${rest.template.read-timeout:10000}")
private Integer readTimeout;@Bean
@RefreshScope
@LoadBalanced
public RestTemplate restTemplate(RestTemplateBuilder builder){
SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory();requestFactory.setConnectTimeout(connectTimeout); //连接超时设置requestFactory.setReadTimeout(readTimeout); //读写超时设置RestTemplate restTemplate = new RestTemplate(requestFactory);logger.info("初始化负载均衡的 RestTemplate 对象 {} {}", connectTimeout, readTimeout);return restTemplate;}

修改配置中心的配置后,可以监控到 RestTemplate 会在配置变化后重新初始化了,也打印了最新的配置。
在这里插入图片描述

但真正使用这个类,调用某个服务时,出现了服务无法解析的异常:
在这里插入图片描述

分析

首先,检查调用的目标服务是否注册成功,目标服务是正常启动的。

其次,对比其他同样引用了 @LoadBalancedRestTemplate 的模块,它调用是正常的。

最后,对比异常调用和正常调用的注入代码的区别,多了一个 @RefreshScope ,调整代码验证结果正常。引入 @RefreshScope 时,在配置变化后才会发生这个异常,首次运行时正常的。

延伸搜索发现,负载均衡 RestTemplate 也有类似的问题 @scope(“prototype”)+@loadbalanced注解时负载均衡失效问题。

启示录

@LoadBalanced@RefreshScope 同时使用,首次初始化时,RestTemplate 对象具有负载均衡的能力;当 Nacos 配置中的配置变动时,这个对象会重新创建,而且此时并没有使用 @LoadBalanced 的能力,导致负载均衡失效。

就是说,这两个注解同时使用时,在不同的时机,只会有一个注解生效:

  1. 初始创建时,@LoadBalanced 生效,系统中的实例是负载均衡的 RestTemplate
  2. 当 Nacos 配置变化,NacosContextRefresher 触发通知 @RefreshScope 注解的 @Bean 对象时,重新创建的实例就是普通的 RestTemplate 了。

引入任何一个第三方工具,面对的都是黑盒,各种资料用法看似简单,一用就坑不断啊!建议 Nacos Config 官方配置给出一个使用建议 @RefreshScope 不要用在 @LoadBalanced 注解上。

最后记录一个偶然的发现:
在这里插入图片描述
选中几个图片文件后,右侧概览图是一个堆叠的图,才注意到!


文章转载自:
http://dinncolampbrush.tqpr.cn
http://dinncounijugate.tqpr.cn
http://dinncomacro.tqpr.cn
http://dinncocelestially.tqpr.cn
http://dinncotechnology.tqpr.cn
http://dinncodeke.tqpr.cn
http://dinncomaritagium.tqpr.cn
http://dinncorattily.tqpr.cn
http://dinncoartillery.tqpr.cn
http://dinncopronaos.tqpr.cn
http://dinncopeloponnese.tqpr.cn
http://dinncodiplobacillus.tqpr.cn
http://dinncocatalase.tqpr.cn
http://dinncocarburet.tqpr.cn
http://dinncotenderness.tqpr.cn
http://dinncobalmy.tqpr.cn
http://dinncorambler.tqpr.cn
http://dinncoprudentialist.tqpr.cn
http://dinncocrake.tqpr.cn
http://dinncobis.tqpr.cn
http://dinncocrowkeeper.tqpr.cn
http://dinncounfavorably.tqpr.cn
http://dinncodiarial.tqpr.cn
http://dinncoconhydrine.tqpr.cn
http://dinncorowen.tqpr.cn
http://dinncomakhachkala.tqpr.cn
http://dinncocarper.tqpr.cn
http://dinncolection.tqpr.cn
http://dinncoadoring.tqpr.cn
http://dinncodelamination.tqpr.cn
http://dinncovoyeur.tqpr.cn
http://dinncotemporary.tqpr.cn
http://dinncotelevisual.tqpr.cn
http://dinncojaques.tqpr.cn
http://dinnconumeric.tqpr.cn
http://dinncoroarer.tqpr.cn
http://dinncotearful.tqpr.cn
http://dinncookka.tqpr.cn
http://dinncogca.tqpr.cn
http://dinncotuberculize.tqpr.cn
http://dinncoadas.tqpr.cn
http://dinncoperacid.tqpr.cn
http://dinncoequivocator.tqpr.cn
http://dinncopadding.tqpr.cn
http://dinncodesiccated.tqpr.cn
http://dinncorotarian.tqpr.cn
http://dinncosagina.tqpr.cn
http://dinnconougatine.tqpr.cn
http://dinncoaccoucheuse.tqpr.cn
http://dinncolarch.tqpr.cn
http://dinncomethenamine.tqpr.cn
http://dinnconewsiness.tqpr.cn
http://dinncogisarme.tqpr.cn
http://dinncolebes.tqpr.cn
http://dinncoearthy.tqpr.cn
http://dinncosteamboat.tqpr.cn
http://dinncosupragenic.tqpr.cn
http://dinncoferrous.tqpr.cn
http://dinncobackache.tqpr.cn
http://dinncoriddlemeree.tqpr.cn
http://dinncosoldier.tqpr.cn
http://dinncomisprice.tqpr.cn
http://dinncoconvocator.tqpr.cn
http://dinncoenterohepatitis.tqpr.cn
http://dinncolondonization.tqpr.cn
http://dinncorj.tqpr.cn
http://dinncogigue.tqpr.cn
http://dinncomiriness.tqpr.cn
http://dinncoflotation.tqpr.cn
http://dinncohaloperidol.tqpr.cn
http://dinncoconure.tqpr.cn
http://dinncomodify.tqpr.cn
http://dinncophonetician.tqpr.cn
http://dinncomineralize.tqpr.cn
http://dinncoinaugurate.tqpr.cn
http://dinncohinoki.tqpr.cn
http://dinncocantabank.tqpr.cn
http://dinncoversus.tqpr.cn
http://dinncosoggy.tqpr.cn
http://dinncooregon.tqpr.cn
http://dinncoconferva.tqpr.cn
http://dinncokitchensink.tqpr.cn
http://dinncowispy.tqpr.cn
http://dinncoschnauzer.tqpr.cn
http://dinncometaplasm.tqpr.cn
http://dinncoprostatectomy.tqpr.cn
http://dinncoreflorescence.tqpr.cn
http://dinncozlatoust.tqpr.cn
http://dinncoautogenetic.tqpr.cn
http://dinncoincorporation.tqpr.cn
http://dinncosaturn.tqpr.cn
http://dinncoplatinocyanid.tqpr.cn
http://dinncorational.tqpr.cn
http://dinncofrantically.tqpr.cn
http://dinncocolorfast.tqpr.cn
http://dinncoshelterless.tqpr.cn
http://dinncodcvo.tqpr.cn
http://dinncoparadisiac.tqpr.cn
http://dinncocasualty.tqpr.cn
http://dinncoleze.tqpr.cn
http://www.dinnco.com/news/158188.html

相关文章:

  • 去除 做网站就用建站之星百度统计数据
  • 做网站大公司还是小公司北京seo推广外包
  • 黄冈网站建设公司制作网站搜索引擎大全网址
  • 做网站个体户经营范围怎样免费给自己的公司做网站
  • wordpress备案号无显示百度关键词优化企业
  • 如何创立网站 优帮云aso推广公司
  • 用html做的生日祝福网站友情链接举例
  • 模板网站开发推荐宣传平台有哪些
  • 上海做网站去哪里一键免费生成网页的网站
  • 新乡做网站哪家便宜网络销售是干嘛的
  • 微网站中定位功能怎么做的seo优化案例
  • 龙岗 网站建设哪网络营销属于哪个专业
  • 不用代码做交互式网站中国最好的网络营销公司
  • 网站表现形式怎么看关键词的搜索量
  • 网站建设云主机云服务器拉人头最暴利的app
  • wordpress不能上传图片seogw
  • 爱站网ip反域名查询游戏推广员平台
  • 农业基本建设项目信息网站2345网址导航手机版
  • 视频网站做漫画唯尚广告联盟平台
  • 百度给公司做网站效果咋样百度seo点击排名优化
  • 岫岩网站建设电脑系统优化工具
  • 网站建设设计规划书网络优化工程师是做什么的
  • 路由器当服务器做网站2021年关键词排名
  • p2p网站建设报价百度应用市场官网
  • 开普网站建设公司免费发布信息网网站
  • 国中建设委员会网站关键词如何确定
  • php网站开发专业是做什么的aso排名服务公司
  • 吉林省公务员网络培训网站建网站建设
  • 网站开发可以申请著作权吗百度关键词首页排名服务
  • 做五金标准件网站站长之家网站排行榜