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

RabbitMQ概念

异步调用的优势是什么?

耦合度低,扩展性强

异步调用,无需等待,性能好

故障隔离,下游服务故障不影响上游业务

缓存消息,流量削峰填谷

异步调用的问题:

不能立刻得到调用结果,时效性差。

不确定下游业务执行是否成功。

业务安全依赖于Broker的可靠性。

MQ,中文是消息队列,字面来看就是存放消息的队列,也就是异步调用中的Broker。

Work模型的使用:
多个消费者绑定到一个队列,可以加快消息处理速度

同一个消息只会被一个消费者处理

通过设置prefetch来控制消费者预取的消息数量,处理完一条在处理下一条,实现能者多劳。

fanout交换机

fanout Exchange 会将接收到的消息广播到每一个跟其绑定的queue,所以也叫广播模式。

交换机的作用是什么?

接收publisher发送的消息。

将消息按照规则路由到与之绑定的队列

FanoutExchange的会将消息路由到每个绑定的队列。

Diect交换机

Direct Exchange 会将接受到的消息根据规则路由到指定的Queue,因此称为定向路由。

每一个Queue都与Exchange设置一个BindingKey

发布者发送消息时,指定消息的routingKey.

exchange将消息路由到BindingKey与RoutingKey一致的队列。

Topic交换机

TopicExchange与DirectExchange类似,区别在于routingKey可以时多个单词的列表,并且以.分割。

声明队列和交换机

SpingAMQP提供了几个类,用来声明队列、交换机及其绑定关系:

Queue:用于声明队列,可以用工厂类QueueBuilder构建

Exchage:用于声明交换机,可以用工厂类ExchangeBuilder构建

Binding:用于声明队列和交换机的绑定关系,可以用工厂类BindingBuilder构建

http://www.lryc.cn/news/571931.html

相关文章:

  • 深入解析线程池与队列系统设计原理
  • 【网工】华为配置专题进阶篇②
  • Oracle 创建定时任务
  • Web服务器/tmp隔离的安全性与绕过分析
  • VSCode 插件 Remote - SSH:开启高效远程开发之旅
  • SpringBoot电脑商城项目--新增收获地址
  • 系统的性能优化
  • kettle好用吗?相较于国产ETL工具有哪些优劣之处?
  • git的使用——初步认识git和基础操作
  • 【Datawhale组队学习202506】零基础学爬虫 01 初始爬虫
  • Goursat问题解的公式推导
  • TikTok 矩阵如何快速涨粉
  • html中的table标签以及相关标签
  • 微信二次开发,对接智能客服逻辑
  • 百度下拉框出词技术解密:72小时出下拉词软件原理分享
  • 5G光网络新突破:<Light: Science Applications>报道可适应环境扰动的DRC实时校准技术
  • OpenStack 入门与实践
  • 激光雷达与视频融合(DeepFusion)的多模态高精度目标定位
  • PostgreSQL的扩展bloom
  • 数学建模会议笔记
  • STM32 HAL 库串口收发完全指南:从基础配置到实战应用
  • 标杆确立!永洪科技位于IDC报告Data Analytics领域象限排头位!
  • 操作系统期末复习--操作系统初识以及进程与线程
  • 实时中值滤波 + 低通滤波 示例程序(STM32环境)
  • CTF解题:[NSSCTF 2022 Spring Recruit]弱类型比较绕过
  • YOLOv11改进 | BiFormer注意力与C2PSA机制融合指南
  • Jupyter 是什么?基于浏览器的交互式计算环境
  • StartUML入门级使用教程——画Class类图
  • 系统思考与核心竞争力
  • vb逆向常用函数