国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當前位置: 首頁 > news >正文

建設購物網(wǎng)站廣告收益平臺

建設購物網(wǎng)站,廣告收益平臺,網(wǎng)站開發(fā)常用形狀,WordPress目錄加密背景 最近引入了 Nacos Config 配置管理能力,說起來用法很簡單,還是踩了三個坑。 Nacos Config 的 nacos 的帳號密碼加密配置后,怎么解密而且在 NacosConfigBootstrapConfiguration 真正注入 Nacos Config 注入之前,而且不能觸發(fā)…

背景

最近引入了 Nacos Config 配置管理能力,說起來用法很簡單,還是踩了三個坑。

  1. Nacos Config 的 nacos 的帳號密碼加密配置后,怎么解密而且在 NacosConfigBootstrapConfiguration 真正注入 Nacos Config 注入之前,而且不能觸發(fā) NacosDiscoveryPropertiesisNacosDiscoveryInfoChanged 變動事件。因為 NacosDiscoveryProperties 接受 NacosContextRefresher 事件時,還是從 yml 配置中獲取屬性,不會從 Environment 對象中加載。
  2. @RefreshScope 要想生效,該注意什么?非 shared-config 的配置變動時,要想實時生效,必須在當前應用的 bootstrap.yml 中配置 spring.application.name 屬性,注冊該應用在配置中心需要監(jiān)聽的配置。
  3. @RefreshScope + @LoadBalanced 同時使用導致 Ribbon 負載均衡失效問題。

問題一比較復雜,此處不做討論,本文記錄問題三的解決方法及個人思考。

問題

有個模塊使用了 @LoadBalanced 負載均衡,通過配置控制超時時間。

引入 Nacos Config 配置后,按照常規(guī)用法,在對象上添加了 @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;}

修改配置中心的配置后,可以監(jiān)控到 RestTemplate 會在配置變化后重新初始化了,也打印了最新的配置。
在這里插入圖片描述

但真正使用這個類,調用某個服務時,出現(xiàn)了服務無法解析的異常:
在這里插入圖片描述

分析

首先,檢查調用的目標服務是否注冊成功,目標服務是正常啟動的。

其次,對比其他同樣引用了 @LoadBalancedRestTemplate 的模塊,它調用是正常的。

最后,對比異常調用和正常調用的注入代碼的區(qū)別,多了一個 @RefreshScope ,調整代碼驗證結果正常。引入 @RefreshScope 時,在配置變化后才會發(fā)生這個異常,首次運行時正常的。

延伸搜索發(fā)現(xiàn),負載均衡 RestTemplate 也有類似的問題 @scope(“prototype”)+@loadbalanced注解時負載均衡失效問題。

啟示錄

@LoadBalanced@RefreshScope 同時使用,首次初始化時,RestTemplate 對象具有負載均衡的能力;當 Nacos 配置中的配置變動時,這個對象會重新創(chuàng)建,而且此時并沒有使用 @LoadBalanced 的能力,導致負載均衡失效。

就是說,這兩個注解同時使用時,在不同的時機,只會有一個注解生效:

  1. 初始創(chuàng)建時,@LoadBalanced 生效,系統(tǒng)中的實例是負載均衡的 RestTemplate
  2. 當 Nacos 配置變化,NacosContextRefresher 觸發(fā)通知 @RefreshScope 注解的 @Bean 對象時,重新創(chuàng)建的實例就是普通的 RestTemplate 了。

引入任何一個第三方工具,面對的都是黑盒,各種資料用法看似簡單,一用就坑不斷啊!建議 Nacos Config 官方配置給出一個使用建議 @RefreshScope 不要用在 @LoadBalanced 注解上。

最后記錄一個偶然的發(fā)現(xiàn):
在這里插入圖片描述
選中幾個圖片文件后,右側概覽圖是一個堆疊的圖,才注意到!

http://aloenet.com.cn/news/46216.html

相關文章:

  • 微網(wǎng)站開發(fā)技術架構競價推廣運營
  • 順德大良網(wǎng)站建設開發(fā)海南百度推廣seo
  • 網(wǎng)站能獲取訪問者亞馬遜站外推廣網(wǎng)站
  • 彩票網(wǎng)站開發(fā)合法嗎淄博頭條新聞今天
  • linux系統(tǒng)怎么做網(wǎng)站網(wǎng)站建設營銷推廣
  • 網(wǎng)站怎么做qq客服seo搜索引擎招聘
  • 新疆網(wǎng)站建設大全今日軍事新聞視頻
  • 綏化市建設局網(wǎng)站app推廣平臺放單平臺
  • 網(wǎng)站做目錄交換友情鏈接的渠道
  • 建設商務網(wǎng)站品牌運營管理公司
  • 網(wǎng)站怎么做免費推廣企業(yè)培訓權威機構
  • 在線商城網(wǎng)站模板企業(yè)網(wǎng)站建設方案策劃書
  • 電商網(wǎng)站開發(fā)平臺哪個好愛站網(wǎng)seo
  • 網(wǎng)站建設來選宙斯站長百度關鍵詞seo
  • 剛做的網(wǎng)站適合做外鏈嗎需要推廣的app在哪里找
  • 個人簡歷模板免費可編輯seo咨詢
  • 網(wǎng)站建設云主機云服務器百度app下載
  • 免費咨詢刑事辯護在線律師廣西seo快速排名
  • 紹興市中等專業(yè)學校網(wǎng)站無線網(wǎng)絡優(yōu)化工程師
  • 移動端前端開發(fā)需要學什么山東seo多少錢
  • 我回了橙子建站的驗證碼上海疫情最新情況
  • 上海松江區(qū)網(wǎng)站建設鄭州seo外包平臺
  • 網(wǎng)站推廣服務合同模板2023年4月疫情恢復
  • 網(wǎng)站窗口建設活動營銷推廣方案
  • 怎么給網(wǎng)站做鏈接今日國際新聞摘抄十條
  • 虎門仿做網(wǎng)站搜索引擎優(yōu)化方案
  • 簡單個人博客模板網(wǎng)站網(wǎng)站內容管理系統(tǒng)
  • 京東網(wǎng)站建設步驟關鍵詞排名關鍵詞快速排名
  • 做網(wǎng)站獨立云服務器什么意思網(wǎng)址大全瀏覽器
  • 網(wǎng)站建設平臺漢龍網(wǎng)頁制作官方網(wǎng)站