开发者学堂课程【Spring Cloud Alibaba Nacos 详解(下):服务消费者】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/725/detail/12935
服务消费者
内容介绍
一、服务消费者
一、服务消费者
以下步骤演示了如何结合 Nacos 对 spring cloud rest 接口进行消费。
1、pom.xml 的配置
服务消费者的微服务工程已经创建好了,下面是把依赖加进去。
com.alibaba.cloud
spring-cloud-starter-alibaba-nacos-discovery
org.springframework.boot
spring-boot-starter-web
org.springframework.cloud
spring-cloud-starter-openfeign
把 pom 文件的依赖加进去之后可以实现服务的消费者。
2、application.yml 配置
server:
port:56020 #启动端口 命令行注入
spring:
application:
name:quickstart-consumer
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
3、Provider (生产者)远程代理定义
@FeignClient(name = "quickstart-provider")
public interface ProviderClient {
@GetMapping("/service")
String service();
}
建一个单独的包来存放 Feign 的客户端,我们把它叫做 Client。在Client 下就可以建 Feign 的客户端。
@FeignClient (value = "quickstart-provider")
public interface ProviderClient {
@GetMapping("/service")
public String service);
}
Feign 的客户端就完成了。
4、Consumer (消费者)服务实现
创建消费者的 Controller,目的是方便测试远程调用。
@RestController
public class ConsumerController {
private static final Logger LOG = LoggerFactorygetLogger
(ConsumerController.class);
//
动态代理对象,内部远程调用服务生产者
@Autowired
private ProviderClient providerClient;
@GetMapping("/service")
public string service(){
//
远程调用
String providerResult = providerClient.service(); return "consumer invoke" + "|"+ providerResult;
}
}
这就是整个消费方的实现。
5、启动 Consumer (消费者)
@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
public class NacosConsumerApp{
public static void main(String[] args){
SpringApplication.run(NacosConsumerApp.class,args);
}
}
开始测试。
说明两个服务都注册成功,现在进行远程调用。
这个结果表示已经成功的调用服务生产方的地址。
这就是整个服务发现以及服务远程调用采用 Spring Cloud 服务来完成的整个过程。