当前位置: 首页 > news >正文

【01初识】-初识 RabbitMQ

目录

  • 学习背景
  • 1- 初识 MQ
    • 1-1 同步调用
      • 什么是同步调用?
      • 小结:同步调用优缺点
    • 1-2 异步调用
      • 什么是异步调用?
      • 小结:异步调用的优缺点,什么时候使用异步调用?
    • 1-3 MQ 技术选型


学习背景

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

实际业务场景:


1- 初识 MQ

1-1 同步调用

什么是同步调用?

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

小结:同步调用优缺点

在这里插入图片描述


1-2 异步调用

什么是异步调用?

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

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

下单场景下的异步调用

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

优点

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

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

在这里插入图片描述


1-3 MQ 技术选型

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

对比

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



http://www.mrgr.cn/news/60521.html

相关文章:

  • python编程-闭包
  • 【Vulnhub靶场】DC-2
  • CAS中的ABA问题
  • ReactOS系统中平衡二叉树。给定地址超导其所属区块MmFindRegion()
  • 如何找到适合的工程管理系统?9款对比
  • QT:MaintenanceTool 模块安装工具
  • 【归一化技术】层归一化和批归一化
  • matplot常备设置
  • 【纯血鸿蒙】安装hdc工具
  • MySQL数据库数据类型介绍
  • LSTM模型实现光伏发电功率的预测
  • 机器学习原理与算法图谱问答
  • 中国人寿财险青岛市分公司:创新引领,服务升级
  • 【CSS】边界三角形
  • DEVOPS: 集群伸缩原理
  • MySQL 日志之 binlog 格式 → 关于 MySQL 默认隔离级别的探讨
  • k8s 二进制部署安装(二)
  • Docker 常用命令全解析:提升对雷池社区版的使用经验
  • JAVA是世界上最美丽的语言------拒绝焦虑,赶紧背诵!
  • 【学术会议论文投稿】前端框架巅峰对决:React、Vue与Angular的全面解析与实战指南
  • 【考前冲刺】24下软考考试,无非就这2套模拟卷!
  • 用git上传项目到GitHub(最简单的操作)
  • ZDS 数字股票:携手全球高校,吸引行业精英,共创金融未来
  • 【网络安全零基础入门】一文搞懂Javascript实现Post请求、Ajax请求、输出数据到页面、实现前进后退、文件上传
  • 时代新机遇来袭,创客匠人首届全球创始人 IP 领袖峰会定档
  • JNI概要