1. 程式人生 > >【Soul閘道器探祕】http資料同步-Admin通知前處理

【Soul閘道器探祕】http資料同步-Admin通知前處理

## 引言 本篇開始研究 Soul 閘道器 http 資料同步,將分為三篇進行分析: - 《Admin通知前處理》 - 《變更通知機制》 - 《Bootstrap處理變更通知》 希望三篇完結後能對 Soul 的 http 資料同步策略有所收穫。 本篇旨在探究 `soul-admin` 端在發起變更通知前所做的處理。 不同資料變更的處理模式應當是一致的,故本篇以 selector 配置變更為切入點進行深入。 ## 一、配置變更入口 找到 SelectorController,這是 selector 配置變更的入口 ![image-20210129065312321](https://gitee.com/stephenshen/pic-bed/raw/master/img/20210129065312.png) 其持有一個 SelectorService 引用,通過 SelectorService 實現 selector 配置變更。 ## 二、配置變更服務 再來看看 SelectorService,實現了配置變更的具體處理。 ![image-20210129065816692](https://gitee.com/stephenshen/pic-bed/raw/master/img/20210129065816.png) 其內部持有5個 mapper、1個 eventPublisher和1個 upstreamCheckService,對外提供一系列對 selector 的crud方法 注意 createOrUpdate 方法 ```java public int createOrUpdate(final SelectorDTO selectorDTO) { int selectorCount; SelectorDO selectorDO = SelectorDO.buildSelectorDO(selectorDTO);