Nacos源码NacosServiceRegistry
生活随笔
收集整理的這篇文章主要介紹了
Nacos源码NacosServiceRegistry
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
NacosServiceRegistry是Spring的ServiceRegistry接口的實現類,而ServiceRegistry接口是服務注冊、發現的規約接口,定義了register、deregister等方法的聲明。
而NacosServiceRegistry對register的實現如下:
@Override public void register(Registration registration) {// 判斷serviceId是否為空,也就是spring.application.name不能為空if (StringUtils.isEmpty(registration.getServiceId())) {log.warn("No service to register for nacos client...");return;}// 獲取Nacos的命名服務,其實就是注冊中心服務NamingService namingService = namingService();// 獲取 serviceId 和 GroupString serviceId = registration.getServiceId();String group = nacosDiscoveryProperties.getGroup();// 封裝服務實例的基本信息,如 cluster-name、是否為臨時實例、權重、IP、端口等Instance instance = getNacosInstanceFromRegistration(registration);try {// 開始注冊服務namingService.registerInstance(serviceId, group, instance);log.info("nacos registry, {} {} {}:{} register finished", group, serviceId,instance.getIp(), instance.getPort());}catch (Exception e) {if (nacosDiscoveryProperties.isFailFast()) {log.error("nacos registry, {} register failed...{},", serviceId,registration.toString(), e);rethrowRuntimeException(e);}else {log.warn("Failfast is false. {} register failed...{},", serviceId,registration.toString(), e);}} }可以看到方法中最終是調用NamingService的registerInstance方法實現注冊的。
而NamingService接口的默認實現就是NacosNamingService。
總結
以上是生活随笔為你收集整理的Nacos源码NacosServiceRegistry的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Nacos源码NacosAutoServ
- 下一篇: Nacos客户端注册的流程图