服务消费者 | 学习笔记

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

开发者学堂课程【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 服务来完成的整个过程。

相关文章
|
3月前
|
消息中间件 缓存 Java
RocketMQ - 消费者消费方式
RocketMQ - 消费者消费方式
103 0
|
5月前
|
消息中间件 网络协议 物联网
消息队列 MQ产品使用合集之如何让消费者不从最开始进行消费,而是从最后一条消息开始消费
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
5月前
|
消息中间件 Java
【消息队列开发】 实现消费者订阅消息
【消息队列开发】 实现消费者订阅消息
|
设计模式 安全
生产者与消费者模型
生产者与消费者模型
99 0
生产者与消费者模型
|
消息中间件 RocketMQ 开发者
消息消费初探|学习笔记
快速学习消息消费初探
消息消费初探|学习笔记
|
消息中间件 RocketMQ 开发者
消息消费方准备工作|学习笔记
快速学习消息消费方准备工作
消息消费方准备工作|学习笔记
|
消息中间件 存储 调度
RabbitMQ学习笔记 02、生产者与消费者、多消费者平均压力
RabbitMQ学习笔记 02、生产者与消费者、多消费者平均压力
RabbitMQ学习笔记 02、生产者与消费者、多消费者平均压力
|
存储 算法
生产者与消费者模型:餐厅吃饭问题
生产者与消费者模型:餐厅吃饭问题
111 0
|
消息中间件 数据采集 分布式计算
CreateDirectStream 消费数据|学习笔记
快速学习 CreateDirectStream 消费数据
|
消息中间件 负载均衡 Java
消息消费基本流程|学习笔记
快速学习消息消费基本流程
下一篇
无影云桌面