一.Nacos 1.3.1 源码解读之服务注册

234 阅读1分钟

Nacos客户端 :

http://127.0.0.1:8849/nacos/v1/ns/instance

第一步,使用随机算法实现获取服务端地址,并实现故障转移,和重试机制(3次) NamingProxy.reqAPI(String api, Map params, List servers, String method) 

第二步,使用HttpClinet技术,将客户端将要注册的服务地址发送到Nacos服务器端 NamingProxy.callServer(String api, Map<String, String> params, String curServer, String method)

NacosServiceRegistry.register(Registration registration);

NamingProxy.registerService(String serviceName, String groupName, Instance instance) 

Nacos服务端:

第一步,服务器端接收到客户端的请求后,调用接口开始服务注册 InstanceController.register(HttpServletRequest request) 

第二步解析,parseInstance 第三步 Add instance to service,将请求服务注册到 ConsistencyService 中

ServiceManager.registerInstance(String namespaceId, String serviceName, boolean ephemeral, Instance... ips)