Nacos - lihailin000/SpringCloud GitHub Wiki

Nacos

使用Spring Cloud解决微服务里的第一个场景 服务调用的问题 (1) 单独部署nacos-server Nacos官网或github下载,源码或二进制文件启动 (2) 在项目中集成nacos-client spring-cloud-starter-alibaba-nacos-discovery包含nacos-client.jar 为何配置yml文件中的内容,就能将所谓的order-service中的内容注册到nacos-service中? 项目启动的时候就能注册成功---》启动时一定调用了注册方法 注册方法的本质是什么? 每隔20秒order-service都要向nacos-service发送一个信息,心跳机制,如果nacos超过20秒还没有收到信息,重试几次,将该url删除。

curl -X POST 'http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=nacos.naming.serviceName&ip=20.18.7.10&port=8080' (1) 服务注册接口:acos/v1/ns/instance---路径是拼接成的,而不是一个整体 InstanceController# (2) SpringCloud注册接口最终也是调用这个接口 (3) 如果不是SpringCloud项目,也可以用nacos进行服务注册 Spring项目 NasocRegistry{ String nacos-service=” 127.0.0.1:8848” String serviceName=”” String url=”” HttpURLConnection.send('http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=nacos.naming.serviceName&ip=20.18.7.10&port=8080') } Cmd启动nacos:sh startup.sh -m standalone

如何实现服务注册?

  1. 从Springboot项目启动的源码入手SpringApplication.run(UserServiceApplication.class, args);
  2. refreshContext(context);
  3. publicEvent===发布时间操作
  4. SpringCloud监听该事件—标准,接口的创建是不是可以监听该事件 AbstractAutoServiceRegistration impement ApplicationEvent(WebEvent){ onApplication(); }