Nacos源码BeatReactor
生活随笔
收集整理的這篇文章主要介紹了
Nacos源码BeatReactor
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
而BeatReactor這個類則維護了一個線程池:
當調用BeatReactor的.addBeatInfo(groupedServiceName, beatInfo)方法時,就會執行心跳:
public void addBeatInfo(String serviceName, BeatInfo beatInfo) {NAMING_LOGGER.info("[BEAT] adding beat: {} to beat map.", beatInfo);String key = buildKey(serviceName, beatInfo.getIp(), beatInfo.getPort());BeatInfo existBeat = null;//fix #1733if ((existBeat = dom2Beat.remove(key)) != null) {existBeat.setStopped(true);}dom2Beat.put(key, beatInfo);// 利用線程池,定期執行心跳任務,周期為 beatInfo.getPeriod()executorService.schedule(new BeatTask(beatInfo), beatInfo.getPeriod(), TimeUnit.MILLISECONDS);MetricsMonitor.getDom2BeatSizeMonitor().set(dom2Beat.size()); }?心跳周期的默認值在com.alibaba.nacos.api.common.Constants類中:
可以看到是5秒,默認5秒一次心跳。 ?
總結
以上是生活随笔為你收集整理的Nacos源码BeatReactor的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Nacos源码BeatInfo
- 下一篇: Nacos源码BeatTask