- 博客(4)
- 收藏
- 关注
原创 Nacos2.0.3源码解析(四)一致性协议-Distro协议实现原理
Distro 协议是 Nacos 社区自研的一种 AP 分布式协议,是面向临时实例设计的一种分布式协议,其保证了在某些 Nacos 节点宕机后,整个临时实例处理系统依旧可以正常工作。其数据存储在缓存中,会在启动时进行数据的全量同步,并定期进行数据校验。distro协议的具体实现类为DistroProtocol,下面介绍一下该类中的几个重要属性// 服务器成员管理器// distro组件的持有者,用来注册/获取各个组件// distro任务引擎持有者。
2023-05-19 02:28:10
1725
1
原创 Nacos2.0.3源码解析(三)RPC客户端、服务端原理
如果创建成功,则会构建请求对象注册到rpc服务端的connectionManager中(如果不符合服务端的一些规则注册失败,则服务端会给客户端发送重连的请求,并且拒绝该客户端的请求,之后的讲到服务端再具体分析),之后会返回连接对象。这张图我列举了几个主要属性,由上图可见,RPC服务端和客户端结构类似,目前只有一种GRPC,而GRPC服务端又有两种具体的实现,一种是GrpcSdkServer和GrpcClusterServer,下面看一下他们的抽象类BaseRpcServer。
2023-05-13 21:52:33
2185
1
原创 Nacos2.0.3源码解析(二)NotifyCenter通知中心的实现原理和使用
共享指的是多事件共享该发布器,是支持发布多种事件的,慢事件则指的是该发布器的事件队列用的都是同一个,相比DefaultPublisher来说,它是一个事件对应一个DefaultPublisher,也就对应一个事件用一个事件队列,相比来说会快的多。简单的看下NotifyCenter中的属性,可以大致的得出,通知中心的功能主要是用事件对应的发布器来通知对应的订阅者来处理事件的,是一个比较典型的观察者模式的实现。事件(Event):一种是普通事件(Event),一种是慢事件(SlowEvent)。
2023-02-21 11:26:35
1180
原创 Nacos2.0.3源码解析(一)任务执行引擎的原理和使用
该执行引擎实际上是一个立即执行任务的引擎,在创建引擎的时候会初始化对应的任务处理器(TaskExecuteWorker),该引擎中只能添加执行继承了AbstractExecuteTask的任务,并且可以指定自定义的处理器对任务进行处理,如果不指定,则是默认使用TaskExecuteWorker处理。
2023-02-06 16:55:29
1374
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人