服务消费者 | 学习笔记

简介: 快速学习服务消费者。

开发者学堂课程【Spring Cloud Alibaba Nacos 详解(下)服务消费者】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/725/detail/12935


服务消费者


内容介绍

一、服务消费者


一、服务消费者

以下步骤演示了如何结合 Nacos spring cloud rest 接口进行消费。

1pom.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 文件的依赖加进去之后可以实现服务的消费者。

2application.yml 配置

server:

port:56020 #启动端口 命令行注入

spring:

application:

name:quickstart-consumer

cloud:

nacos:

discovery:

server-addr: 127.0.0.1:8848

3Provider (生产者)远程代理定义

@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 的客户端就完成了。

4Consumer (消费者)服务实现

创建消费者的 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 (消费者)

图片.png

@SpringBootApplication

@EnableDiscoveryClient

@EnableFeignClients

public class NacosConsumerApp{

public static void main(String[] args){

SpringApplication.run(NacosConsumerApp.class,args);

}

}

开始测试。

图片.png

图片.png

 

说明两个服务都注册成功,现在进行远程调用。

 图片.png

这个结果表示已经成功的调用服务生产方的地址。

这就是整个服务发现以及服务远程调用采用 Spring Cloud 服务来完成的整个过程。

相关文章
|
消息中间件 缓存 算法
阿里二面:RocketMQ 消息积压了,增加消费者有用吗?
阿里二面:RocketMQ 消息积压了,增加消费者有用吗?
209 0
阿里二面:RocketMQ 消息积压了,增加消费者有用吗?
|
消息中间件 存储 RocketMQ
阿里二面:RocketMQ同一个消费组内的消费者订阅量不同tag,会有问题吗?
阿里二面:RocketMQ同一个消费组内的消费者订阅量不同tag,会有问题吗?
655 0
阿里二面:RocketMQ同一个消费组内的消费者订阅量不同tag,会有问题吗?
|
存储 算法
生产者与消费者模型:餐厅吃饭问题
生产者与消费者模型:餐厅吃饭问题
79 0
|
设计模式 安全
生产者与消费者模型
生产者与消费者模型
71 0
生产者与消费者模型
|
消息中间件 RocketMQ 开发者
消息消费方准备工作|学习笔记
快速学习消息消费方准备工作
73 0
消息消费方准备工作|学习笔记
|
消息中间件 RocketMQ 开发者
消息消费初探|学习笔记
快速学习消息消费初探
63 0
消息消费初探|学习笔记
|
双11 iOS开发 开发者
消费者需求的不同状态 | 学习笔记
快速学习消费者需求的不同状态。
391 0
消费者需求的不同状态 | 学习笔记
|
消息中间件 数据采集 分布式计算
CreateDirectStream 消费数据|学习笔记
快速学习 CreateDirectStream 消费数据
153 0
|
消息中间件 负载均衡 Java
消息消费基本流程|学习笔记
快速学习消息消费基本流程
68 0
|
消息中间件 存储 调度
RabbitMQ学习笔记 02、生产者与消费者、多消费者平均压力
RabbitMQ学习笔记 02、生产者与消费者、多消费者平均压力
RabbitMQ学习笔记 02、生产者与消费者、多消费者平均压力