【01初识】-初识 RabbitMQ

目录


学习背景

  • 异步通讯的特点:异步系统的并发很高。

实际业务场景:


1- 初识 MQ

1-1 同步调用

什么是同步调用?

  • 以支付服务为例子,如果一个商品的支付过程中涉及多个子操作。比如 余额扣减、支付状态更新、订单状态的更新、短息通知服务、积分服务等。
  • 这些额外的操作和支付过程中核心业务,也就是库存的扣减无关,如果采用同步的方式是一个耗时的过程。

小结:同步调用优缺点


1-2 异步调用

什么是异步调用?

异步调用方式其实就是基于消息通知的方式,一般包含三个角色:

  • 消息发送者:投递消息的人,就是原来的调用方。
  • 消息代理:管理、暂存、转发消息,你可以把它理解成微信服务器。
  • 消息接收者:接收和处理消息的人,就是原来的服务提供方。

下单场景下的异步调用

  • 支付服务不再同步调用业务关联度低的服务,而是发送消息通知到 Broker。

优点

  • 解除耦合,拓展性强
  • 无需等待,性能好
  • 故障隔离
  • 缓存消息,流量削峰填谷

小结:异步调用的优缺点,什么时候使用异步调用?


1-3 MQ 技术选型

  • MQ(Message Queue),中文是消息队列,字面开来就是存放消息的队列,也就是异步调用中的 Broker。

对比

  • 如果对消息的可靠性要求较高的话,需要使用 RabbitMQ ,如果对吞吐量有要求的话需要使用 Kafka 等。
  • RabbitMQ 是使用 Erlang 语言开发的,Erlang 是一种面向并发的语言,其次 RabbitMQ 支持的协议更多。
  • Kafka 利用与吞吐量非常大的场景下,比如大型的项目做日志收集。

相关推荐
叶总没有会14 小时前
RabbitMQ高级
分布式·rabbitmq
Linux实战笔记2 天前
记一次消息队列选型对比线上排查:Kafka/RabbitMQ/Pulsar 技术选型
kafka·rabbitmq·高并发·pulsar·消息队列选型
张彦峰ZYF2 天前
一条消息的丢与重:Kafka 与 RabbitMQ 可靠投递的确认、位点、死信与幂等全链路
后端·kafka·消息队列·rabbitmq·isr·解耦与削峰·丢失与重复
用户84913717547164 天前
订单超时未支付自动取消实现方案 | 三种方案详解
redis·面试·rabbitmq
蓝胖的四次元口袋4 天前
RabbitMQ知识梳理(2)
分布式·rabbitmq
叶总没有会5 天前
RabbitMQ基础--java客户端
java·rabbitmq·java-rabbitmq
Thomas.Sir5 天前
第31课:微服务消息驱动(RabbitMQ/RocketMQ)适配与解耦实战
微服务·rabbitmq·rocketmq
蓝胖的四次元口袋5 天前
RabbitMQ知识梳理(1)
分布式·rabbitmq
叶总没有会7 天前
MQ基础与使用背景
rabbitmq
墨神谕8 天前
RabbitMQ 从入门到实战:核心原理、消息模型、可靠性机制与 Spring Boot 实战
spring boot·rabbitmq·java-rabbitmq