当前位置: 首页 > 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构建

相关文章:

  • 项目:Gitlab HSD CI/CD总结
  • 微信原生小程序转uniapp过程及错误总结
  • VS Code 项目中的 .vscode 目录详解
  • SSRF5 Gopher 协议对内网 Web 服务进行 sql 注入 GET 类型和POST类型
  • Jetson上的pytorch国内源下载和torchvision安装教程
  • 基于OpenCv(开源计算机视觉库)的图像旋转匹配
  • A 股无风不起浪!金融吸血科技
  • 28.行为型模式分析对比
  • ONLYOFFICE Jira 集成应用程序 4.0.0 发布,含新的文件格式支持等多个重大更新!
  • CRMEB 平台端 admin 路径修改指南(从配置到部署)
  • 微信小程序-数据加密
  • CAD旋转包围盒_有向包围盒_obb_最小外包矩形——CAD c#二次开发
  • 第十七届全国大学生数学竞赛(数学类)初赛模拟试题
  • 秋招Day14 - MySQL - 存储引擎
  • [计算机网络] 网络的诞生:协议的认知建立
  • Vue.js第一节
  • Spring Boot 常用注解整理
  • 【开源解析】基于Python+Qt打造智能应用时长统计工具 - 你的数字生活分析师
  • 7.索引库操作
  • c++_cout的理解和使用
  • 做网站怎么查看来访ip/微博推广
  • 专业建设网站应该怎么做/关键词优化排名软件流量词
  • 网站建设的步骤过程/现代网络营销的方式
  • 网站制作价格服务/百度seo排名优化软件
  • wordpress主题pacify/seo方案
  • 网站角色权限/网络推广网站