sofastack/sofa-registry

推送提效

Closed this issue · 1 comments

In what area(s)?

/area runtime
/area operator
/area placement
/area docs
/area test-and-release

Describe the feature

   最新版本的 SOFARegistry ,通过一些优化,目前支撑起了千万级别数据量集群的服务发现,整体资源开销相比于老版本也有了很大的下降,但还有一些优化点需要继续推进:
由于大量的使用了固定延迟的批处理,导致推送延迟还是偏高,希望可以通过识别数据量,减少批处理的固定延迟,减少整体变更推送延迟。
   支持运行时控制异步攒批时间的delay动态调整

提几个简单的小建议:

  1. 批处理队列改成LMAX的Disruptor,在另一个Issue中也建议过
  2. 推送延迟细粒度化:按照app维度、或者dataid粒度,隔离、拆分
  3. 动态调整支持策略:比如我们可以有一个比较短(1s)的默认推送延迟,如果有一个应用短时间内反复pub,我们就延长它的推送延迟,比如按照指数方式,增大延迟时间。有一个最大时间兜底,以及有对应的自愈策略,恢复延迟时间。

仅供参考哈,主要还是看大家意见