服务注册只能是完成一半,还要服务发现,这样才会有生产消费关系。
ps:前面提到nacos通过自动装配的形式,加入到工程中 nacos服务注册顺藤摸瓜如下,主要靠实现 ApplicationListener,服务启动初始化完成后进行服务注册。想当于springboot查到springcloudalibaba的spring.factory然后读取到NacosServiceRegistryAutoConfiguration发生后面的事。
NacosServiceRegistryAutoConfiguration->NacosAutoServiceRegistration->AbstractAutoServiceRegistration.onApplicationEvent(WebServerInitializedEvent event)->NacosServiceRegistry.register(Registration registration)->NacosNamingService.registerInstance(String serviceName, String groupName, Instance instance)->NamingProxy.registerService(String serviceName, String groupName, Instance instance)
添加 Nacos 依赖项和配置信息
coupon-template-serv和coupon-calculation-serv已经作为服务提供者注册到了nacos指定的namespace上。但是谁来发现并过来消费是一个问题。
这里我们搞一个coupon-customer-serv 作为服务消费者
我们在服务发现这模块下面的pom文件注册如下,出了配置nacos发现服务,以及 Webflux 发起远程调用的依赖项。
<!-- Nacos服务发现组件 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- 负载均衡组件 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>
<!-- webflux服务调用 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
</dependency>
|