rabbitmq

1、进程角色说明

  • Name Server:在消息队列RocketMQ版中提供命名服务,更新和发现Broker服务,保存broker和topic

    的路由信息,Name Server通过集群保证高可用

  • Broker: 集群最核心模块,主要负责Topic消息存储、消费者的消费位点管理(消费进度offset)。

    broker通过主备保证分片数据高可用。

9.2、发生消息类型

同步:发送网络请求后会同步等待 Broker 服务器返回结果,支持发送失败重试,适用于比较重要的消息通知场景。

异步:异步发送网络(非局域网)请求,不会阻塞当前线程,支持失败重试,适用于对响应时间要求更高的场景。

单向:单向发送原理和异步一致,但不支持回调。适用于响应时间非常端,对可靠性要求不高的场景,例如日志收集。

9.3、接受消息

集群模式:只允许消息被消费一次,一条具体的消息不会被重复消费,默认行为

广播模式 :消息会被每个消费者同时消费

9.4、队列模式

重试队列:根据时间或异常,达到最大重试次数后,若消费依然失败,则表明消费者在正常情况下无法正确地消费该消息。此时,消息队列 RocketMQ 版不会立刻将消息丢弃,而是将其发送到该消费者对应的特殊队列中。

死信队列:正常情况下无法被消费的消息称为死信消息

1:不会再被消费者正常消费。

2:有效期与正常消息相同,均为 3 天,3 天后会被自动删除。因此,请在死信消息产生后的 3 天内及时处理。

9.5、消息发送怎么确保0丢失

为什么会丢失:网络故障

12、rabbitmq

12.1、什么是mq?

消息队列,通信的中间件产品

12.2、解耦、异步、削峰是什么?

  • 解耦:解耦是指将系统中的组件或模块之间的依赖关系降低到最低程度,从而提高系统的灵活性和可维护性。
  • 异步:异步指的是操作的执行不需要立即返回结果,而是在后台进行,执行完成后再通知相关的组件或者进行后续的处理。
  • 削峰:减少高峰时期对服务器压力。

12.3、消息队列有什么缺点

  • **系统可用性降低:**系统运行好好的,现在你非要加入个消息队列进去,那消息队列挂了,系统也会挂。
  • 系统复杂度提高 :一致性问题、如何保证消息不被重复消费、如何保证消息可靠性传输等。
  • 一致性问题 :A 系统处理完了直接返回成功了,人都以为你这个请求就成功了, BCD 三个系统那里,BD 两个系统写库成功了,结果 C 系统写库失败了,数据就不一致了。

12.4、RabbitMQ与其他mq对比

12.5、AMQP是什么?

AMQP 是一种强大的消息传递协议,用于在应用程序之间进行可靠的异步消息传递,具有标准化、可靠性、灵活性、性能和安全性等特点。

12.6、AMQP模型的几大组件?

  • 交换器 (Exchange):消息代理服务器中用于把消息路由到队列的组件。

  • 队列 (Queue):用来存储消息的数据结构,位于硬盘或内存中。

  • 绑定 (Binding):一套规则,告知交换器消息应该将消息投递给哪个队列。

12.7、如何保证消息的可靠性?

ACK

相关推荐
linux修理工8 小时前
使用codebuddy学习kafka
分布式·学习·kafka
阿 才8 小时前
跟文件系统(busybox)的构建
大数据·hadoop·分布式
老纪9 小时前
Redis分布式锁进第九零篇
数据库·redis·分布式
Amy187021118239 小时前
分布式光伏防孤岛保护:技术逻辑、标准演进与工程实践全解析
分布式
ACP广源盛1392462567310 小时前
IX7008 PCIe 交换芯片@ACP#RTX Spark 经济型 8 口扩展芯片(对比 ASM1806)
大数据·人工智能·分布式·嵌入式硬件·gpt·spark·电脑
ACP广源盛1392462567310 小时前
IX6012 PCIe 交换芯片@ACP#RTX Spark 入门级 12 口存储外设扩展方案(对比 ASM1812)
大数据·人工智能·分布式·嵌入式硬件·gpt·spark·电脑
分布式存储与RustFS12 小时前
对标MinIO!RustFS新一代AI分布式对象存储开源能力前瞻
人工智能·分布式·开源·分布式对象存储·rustfs·minio平替·s3 table
cxr82813 小时前
蜂群智能系统中“非必要不添加“原则的有效性再审视:基于分布式决策与通信复杂度的理论推导
人工智能·分布式·智能体
bIo7lyA8v14 小时前
算法工程中的可扩展性与分布式实现方案的技术8
分布式
我登哥MVP14 小时前
SpringCloud 核心组件解析:分布式配置管理
java·spring boot·分布式·spring·spring cloud·java-ee·maven