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

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.xdnf.cn/news/14476.html

相关文章:

  • 基于python的web系统界面登录
  • P7 QT项目----会学天气预报
  • 黑马python(八)
  • 设置环境变量(linux,windows,windows用指令和用界面)
  • AntV G6入门教程
  • CppCon 2017 学习:C++ in Academia
  • 【开源解析】基于Python+Qt打造智能应用时长统计工具 - 你的数字生活分析师
  • 鼎捷T100开发语言-Genero FGL 终极技术手册
  • Mac OS上安装Redis
  • Python 正则表达式
  • 解决戴尔电脑No bootable devices found问题
  • TIA Portal (博图) 中 SCL 语言 REPEAT_UNTIL循环语句的用法介绍及案例
  • 资源占用多,Linux 系统中如何降低 CPU 资源消耗并提升利用率?
  • CentOS 7 虚拟机网络配置异常 典型问题:启动了NetworkManager但是network无法启动
  • 03.【C语言学习笔记】分支和循环
  • 网络层协议 IP 协议介绍 -- IP 协议,网段划分,私有 IP 和 公网 IP,路由
  • 设计模式笔记_创建型_单例模式
  • 【图像处理入门】9. 基础项目实战:从去噪到图像加密
  • 接口适配器模式实现令牌桶算法和漏桶算法
  • 加密、加签、摘要算法对比
  • 自然语言处理【NLP】—— CBOW模型
  • 浅谈快排的退化与优化
  • 鼠标报告描述符与对应的数据结构体
  • 实现汽车焊装线设备互联:DeviceNet与Modbus TCP协议转换网关
  • Debian 编译安装 ruby3.2
  • stm32使用定时器PWM
  • Linux编程:4、进程通信-管道(匿名管道)
  • 二手商城系统+SpringBoot + Vue (前后端分离)
  • 通用embedding模型和通用reranker模型,观测调研
  • 嵌入式学习笔记C语言阶段--17共用体和枚举