真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

SpringCloud動(dòng)態(tài)配置變化監(jiān)控的實(shí)例分析

SpringCloud動(dòng)態(tài)配置變化監(jiān)控的實(shí)例分析,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

讓客戶(hù)滿(mǎn)意是我們工作的目標(biāo),不斷超越客戶(hù)的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶(hù),將通過(guò)不懈努力成為客戶(hù)在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊(cè)、虛擬空間、營(yíng)銷(xiāo)軟件、網(wǎng)站建設(shè)、江達(dá)網(wǎng)站維護(hù)、網(wǎng)站推廣。

簡(jiǎn)介

配置中心有原生的 SpringCloud Config 、國(guó)內(nèi)開(kāi)源的 阿里 Nacos、攜程 Apollo 等。 都是配置熱加載的基礎(chǔ)上增加了其他的功能。

配置中心具有配置熱加載,修改配置 -> 推送到程序 -> 執(zhí)行配置更新。

而獲取配置更新的具體內(nèi)容,這些組件都沒(méi)有做到(SpringCloud Config、Nacos, Apollo待驗(yàn)證 )。如:獲取變化的配置 test 更新前為 123 ,更新后為 111。

SpringCloud ConfigNacos 、 Apollo待驗(yàn)證 配置更新都是將整個(gè)配置文件推送給服務(wù)進(jìn)行配置對(duì)比結(jié)果進(jìn)行更新。這個(gè)階段用戶(hù)無(wú)法從程序中獲取更新的內(nèi)容。

為了實(shí)現(xiàn)這個(gè)擴(kuò)展功能點(diǎn),更新結(jié)果可以讓程序感知。 在這個(gè)階段用戶(hù)通過(guò)code可以實(shí)現(xiàn)配置監(jiān)聽(tīng), 監(jiān)聽(tīng)到某個(gè)配置變化做其他操作等。

示例: 獲取到推送配置變化, 感知到 test 發(fā)生變化, 做更新同步數(shù)據(jù)操作等等。

感知結(jié)果集如:

{
    `被更新的配置key`:{
        before: `原來(lái)的值`,
        after: `更新后的值`
    },
    `被更新的配置key`:{
        before: `原來(lái)的值`,
        after: `更新后的值`
    }
}

功能使用

添加依賴(lài)

ps:實(shí)際version版本請(qǐng)使用最新版


  com.purgeteam
  dynamic-config-spring-boot-starter
  0.1.0.RELEASE

當(dāng)然實(shí)際情況要結(jié)合添加動(dòng)態(tài)配置依賴(lài)包 SpringCloud Config 、 Nacos 、 Apollo

dynamic-config-spring-boot-starter 模塊不包含以上依賴(lài), 需要自行添加。

@EnableDynamicConfigEvent

簡(jiǎn)介:開(kāi)啟這個(gè)特性注解,具備配置推送更新監(jiān)聽(tīng)能力。

啟動(dòng)類(lèi)添加 @EnableDynamicConfigEvent 注解開(kāi)啟配置變化監(jiān)聽(tīng)功能。

@EnableDynamicConfigEvent
@SpringBootApplication
public class DynamicConfigSpringBootApplication {

  public static void main(String[] args) {
    SpringApplication.run(DynamicConfigSpringBootApplication.class, args);
  }

}

編寫(xiě)事件接收器

創(chuàng)建 NacosListener(名稱(chēng)隨意) 實(shí)現(xiàn) ApplicationListener#onApplicationEvent 方法

@Slf4j
@Component
public class NacosListener implements ApplicationListener {

  @Override
  public void onApplicationEvent(ActionConfigEvent event) {
    log.info("接收事件");
    log.info(event.getPropertyMap().toString());
  }
}

NacosListener#onApplicationEvent 方法里獲取目標(biāo)值, 作相應(yīng)的邏輯處理。

ActionConfigEvent event:

public class ActionConfigEvent extends ApplicationEvent {

    // 事件說(shuō)明
    private String eventDesc;
    
    // 更新變化結(jié)果集
    private Map propertyMap;
    ...
}

ActionConfigEvent 主要包含 Map propertyMap;, 從這里可以獲取更新變化結(jié)果, propertyMap結(jié)構(gòu)如下:

{
    `被更新的配置key`:{
        before: `原來(lái)的值`,
        after: `更新后的值`
    },
    `被更新的配置key`:{
        before: `原來(lái)的值`,
        after: `更新后的值`
    }
}

更新配置演示

ps:示例為 Nacos 其它配置中心無(wú)差別。

原始配置:

test.age=18
user.name=purgeyao

修改配置:

# test.age 將18更新為19
test.age=19
user.name=purgeyao

NacosListener#onApplicationEvent 方法加入端點(diǎn)調(diào)試觀(guān)察 ActionConfigEvent 對(duì)象參數(shù)。

SpringCloud動(dòng)態(tài)配置變化監(jiān)控的實(shí)例分析

更新的 test.age 已經(jīng)被記錄在了 ActionConfigEvent.propertyMap 里了, 從 18 更新為 19。

控制臺(tái)打印:

2019-10-17 10:44:09.221  INFO 54054 --- [-10.1.1.97_8848] c.p.dynamic.config.demo.NacosListener    : 接收事件
2019-10-17 10:45:19.752  INFO 54054 --- [-10.1.1.97_8848] c.p.dynamic.config.demo.NacosListener    : {test.age={before=18, after=19}}

上述功能基于 Nacos 、 SpringCloud Config 或基于 SpringCloud Config 之上構(gòu)建的配置中心都可以使用, 其他配置中心待驗(yàn)證。

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。


網(wǎng)站欄目:SpringCloud動(dòng)態(tài)配置變化監(jiān)控的實(shí)例分析
文章位置:http://weahome.cn/article/ggdjjp.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部