亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SpringCloud動態配置變化監控的實例分析

發布時間:2021-10-27 09:19:37 來源:億速云 閱讀:290 作者:柒染 欄目:大數據

SpringCloud動態配置變化監控的實例分析,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

簡介

配置中心有原生的 SpringCloud Config 、國內開源的 阿里 Nacos、攜程 Apollo 等。 都是配置熱加載的基礎上增加了其他的功能。

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

而獲取配置更新的具體內容,這些組件都沒有做到(SpringCloud ConfigNacos, Apollo待驗證 )。如:獲取變化的配置 test 更新前為 123 ,更新后為 111

SpringCloud ConfigNacosApollo待驗證 配置更新都是將整個配置文件推送給服務進行配置對比結果進行更新。這個階段用戶無法從程序中獲取更新的內容。

為了實現這個擴展功能點,更新結果可以讓程序感知。 在這個階段用戶通過code可以實現配置監聽, 監聽到某個配置變化做其他操作等。

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

感知結果集如:

{
    `被更新的配置key`:{
        before: `原來的值`,
        after: `更新后的值`
    },
    `被更新的配置key`:{
        before: `原來的值`,
        after: `更新后的值`
    }
}

功能使用

添加依賴

ps: 實際version版本請使用最新版

<dependency>
  <groupId>com.purgeteam</groupId>
  <artifactId>dynamic-config-spring-boot-starter</artifactId>
  <version>0.1.0.RELEASE</version>
</dependency>

當然實際情況要結合添加動態配置依賴包 SpringCloud ConfigNacosApollo

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

@EnableDynamicConfigEvent

簡介: 開啟這個特性注解,具備配置推送更新監聽能力。

啟動類添加 @EnableDynamicConfigEvent 注解開啟配置變化監聽功能。

@EnableDynamicConfigEvent
@SpringBootApplication
public class DynamicConfigSpringBootApplication {

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

}

編寫事件接收器

創建 NacosListener(名稱隨意) 實現 ApplicationListener<ActionConfigEvent>#onApplicationEvent 方法

@Slf4j
@Component
public class NacosListener implements ApplicationListener<ActionConfigEvent> {

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

NacosListener#onApplicationEvent 方法里獲取目標值, 作相應的邏輯處理。

ActionConfigEvent event:

public class ActionConfigEvent extends ApplicationEvent {

    // 事件說明
    private String eventDesc;
    
    // 更新變化結果集
    private Map<String, HashMap> propertyMap;
    ...
}

ActionConfigEvent 主要包含 Map<String, HashMap> propertyMap;, 從這里可以獲取更新變化結果, propertyMap結構如下:

{
    `被更新的配置key`:{
        before: `原來的值`,
        after: `更新后的值`
    },
    `被更新的配置key`:{
        before: `原來的值`,
        after: `更新后的值`
    }
}

更新配置演示

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

原始配置:

test.age=18
user.name=purgeyao

修改配置:

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

NacosListener#onApplicationEvent 方法加入端點調試觀察 ActionConfigEvent 對象參數。

SpringCloud動態配置變化監控的實例分析

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

控制臺打印:

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}}

上述功能基于 NacosSpringCloud Config 或基于 SpringCloud Config 之上構建的配置中心都可以使用, 其他配置中心待驗證。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阜平县| 曲周县| 东莞市| 鄂托克旗| 吉林市| 三明市| 通辽市| 万载县| 故城县| 札达县| 江油市| 和顺县| 贵阳市| 耿马| 高青县| 景谷| 内乡县| 察哈| 区。| 乡宁县| 通化市| 诸城市| 满洲里市| 湘潭市| 西乌| 黄陵县| 无极县| 新和县| 拜城县| 南充市| 江油市| 安阳市| 石台县| 乡宁县| 澄城县| 平远县| 涟水县| 平遥县| 江永县| 游戏| 五家渠市|