欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

【Nacos源码篇】Nacos事件通知总结

时间:2023-07-02

如果你看了之前的源码分析的话,可以看看这篇总结:

消息通知总结


上图是一个事件从new出来到被执行的整套流程,结合之前几篇文章,再次梳理一遍整个流程:
⚡️ 首先,比如一个服务注册事件,会经过NotifyCenter的静态方法publishEvent来发布一个事件
⚡️ 然后会根据该事件的全限定类名,去NotifyCenter内部的publishMap中找到这个事件所对应的事件发布者
⚡️ 这个时候调用事件发布者的 offer方法向阻塞队列 queue 中添加事件,来暂存消息
⚡️ 同时呢,事件发布者也是一个线程,在其被new出来的同时,就被调用了start方法,开始一直从阻塞队列中取事件
⚡️ 当取出事件后,handleEvent就会拿到其事件的Class的类型,然后再在其内部的subscribes中取出订阅了这个事件类型的所有的订阅者们
⚡️ 最后再判断这个订阅者针对这个事件是需要同步方式还是异步方式处理事件
⚡️ 调用订阅者的onEvent(T event)方法,事件执行的落地点

Nacos源码篇

【Nacos源码篇(一)】Nacos源码本地环境搭建【Nacos源码篇(二)】Nacos的事件通知机制【Nacos源码篇(三)】NotifyCenter源码剖析【Nacos源码篇(四)】EventPublisher源码分析【Nacos源码篇(五)】Subscriber源码分析

语雀版文档

事件通知

事件通知核心流程NotifyCenter源码分析EventPublisher源码分析Subscriber源码分析Event源码分析消息通知总结

Nacos源码注释

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。