[ISSUE #10380] Support for fuzzy watch capability for Nacos registration center. #11200
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What is the purpose of the change
For #10380 , Support for fuzzy watch capability for Nacos registration center.
Brief changelog
Add nacos naming fuzzy watch interface
Add naocs watch client proxy
Add fuzzy watch pattern match rule in Constants.
Add the corresponding pattern splicing and match function in NamingUtils.
Add Fuzzy Watch NotifyEvent and Watch Service Change Notifier.
Add Fuzzy watch redo service
Add watch service request and response
Add watch nacos server notify request and response
Add request SPI and reflect config
Add Watch match cache in nacos client
Add fuzzy watch request handler in nacos server
Add fuzzy watch indexmanager maintain logic in nacos server
Add nacos fuzzy watch notify task in server (watch init notify and service change notify)
Nacos客户端新增模糊订阅接口,以及对应的发送代理(delegate和grpc)
新增模糊订阅的redo机制
在Constants新增模糊订阅的匹配规则,在NamingUtils新增匹配的对应接口和辅助方法
新增模糊订阅的通信实体(发起/取消模糊订阅的Request;服务端主动推送的Request,包括初始化提醒与服务变更提醒Request)
Nacos服务端新增模糊订阅的RequestHandler
在服务端的Indexmanager新增模糊订阅的索引维护机制
在服务端新增推送事件(包括模糊订阅初始化推送事件NotifyInit,以及服务变更时给对应客户端推送事件的NotifyServiceChange)
Nacos客户端新增用于保存各模糊订阅Pattern匹配服务的Holder类,新增Notifier用于通知到对应的Listener