S1 服务注册
2023-09-08 14:25:45 2 举报
服务注册
作者其他创作
大纲/内容
NamingClientProxyDelegate#registerService
start()
InstanceRequestHandler#handle
构造方法:public NamingGrpcClientProxy
事件回调onApplicationEvent
发布InstanceMetadataEvent事件,用于更新元数据
register()
refreshContext
new GrpcSdkClient(clientNameInner)
DistroClientDataProcessor#onEvent
客户端信息Instance
发布ClientChangedEvent事件,集群数据同步
handleInstanceMetadataEvent
serviceregistry#register
applyInitializers(context)-initialize(context)
临时节点集群数据同步
AbstractAutoServiceRegistration监听WebServerInitializedEvent
handle
AP Distro协议集群临时节点同步
publisherIndexes.get(service).add(clientId)
handleClientOperation
客户端:通过grpc发送InstanceRequest注册
requestToServer
ClientServiceIndexesManager#onEvent
addPublisherIndexes
获取NamingClientProxy:(NamingClientProxy)(instance.isEphemeral() ? this.grpcClientProxy : this.httpClientProxy)默认是临时节点,所以走grpc注册
clientManager.getClient(clientId)
bind()
NotifyCenter.publishEvent(new ClientEvent.ClientChangedEvent(this))
listeners.starting(...)
获取服务端信息Service singleton
3、Nacos服务端接收客户端InstanceRequest注册请求
NacosServiceRegistry#register
发布ServiceChangedEvent事件,用于推送消息给对应的订阅者
this.rpcClient = RpcClientFactory.createClient
start(...)
clientProxy.registerService
1、Spring Cloud注册接口
listeners.started(...)
main
2、Nacos实现注册
AbstractClient#addServiceInstance
NamingMetadataManager#onEvent
客户端发送心跳检查
NacosNamingService#registerInstance
怎么创建rpcClient连接
doRegisterService
syncToAllServer
port = serverInfo.getServerPort() + this.rpcPortOffset()
发布ClientRegisterServiceEvent事件,用于服务注册
调用nacos服务端注册
client.setLastUpdatedTime()
rpcClient#start()
GrpcConnection#request
EphemeralClientOperationServiceImpl#.registerInstance(...)
grpcFutureServiceStub.request(grpcRequest)
NamingGrpcClientProxy#registerService
rpcClient.request(request)
NamingHttpClientProxy#egisterService
getPublishInfo(instance)
prepareContext(..)
SpringApplication#run
CP Raft协议集群持久节点同步
SpringApplication初始化
获取客户端信息Client client
ServiceManager.getInstance().getSingleton(service)
ApplicationStartingEvent事件回调
EurekaServiceRegistry#register
connectToServer(serverInfo)
ApplicationStartedEvent事件回调
0 条评论
下一页