文章目录
-
- 1. RabbitMQ 中的 broker 是指什么?cluster 又是 指什么?
- 2. RabbitMQ 中 RAM node 和 disk node 的区别?
- 3. RabbitMQ 上的一个 queue 中存放的 message 是 否有数量限制?
- 4. RabbitMQ 概念里的 channel、exchange 和 queue 这些东东是逻辑概念,还是对应着进程实体?它们 分别起什么作用?
- 5. RabbitMQ 中 vhost 是什么?起什么作用?
- 6.在单 node 系统和多 node 构成的 cluster 系统 中声明 queue、exchange ,以及进行 binding 会 有什么不同?
- 7.客户端连接到 cluster 中的任意 node 上是否都 能正常工作?
- 8.能够在地理上分开的不同数据中心使用 RabbitMQ cluster 么?
- 9. routing_key 和 binding_key 的最大长度是多 少?
- 10. RabbitMQ 中 “dead letter”queue 有什么用 途?
- 11. RabbitMQ 中 Basic.Reject 的用法是什么?
- 12. 为什么不应该对所有的 message 都使用持久化 机制?
- 13. RabbitMQ 中的 cluster、mirrored queue 机制 分别用于解决什么问题?存在哪些问题?
- 14. 请概要说明 Kafka 的体系结构
- 15. Kafa consumer 是否可以消费指定分区消息?
- 16. Kafka 消息是采用 Pull 模式,还是 Push 模式?
- 17. Kafka 高效文件存储设计特点:
- 18. Kafka 与传统消息系统之间有三个关键区别
- 19. Kafka 里 partition 的数据如何保存到硬盘
- 20. 请概述 kafka 的 ack 机制
- 21. kafaka 生产数据时数据的分组策略
- 22. 数据传输的事务定义有哪三种?
- 23. 为什么使用消息队列?
- 24. 消息队列有什么优点和缺点?
- 25. 消息重复的原因和解决
- 26. 消息的可靠性传输
- 27. 消息的顺序性
|
|
1. RabbitMQ 中的 broker 是指什么?cluster 又是 指什么?
答:broker 是指一个或多个 erlang node 的逻辑分组,且 node 上运行着 RabbitMQ
应用程序。cluster 是在 broker 的基础之上,增加了 node 之间共享元数据的约束。
2. RabbitMQ 中 RAM node 和 disk node 的区别?
答:RAM node 仅将 fabric(即 queue、exchange 和 binding等 RabbitMQ基础构件)
相关元数据保存到内存中,但 disk node 会在内存和磁盘中均进行存储。RAM node 上唯一
会存储到磁盘上的元数据是 cluster 中使用的 disk node 的地址。要求在 RabbitMQ
cluster 中至少存在一个 disk node 。
3. RabbitMQ 上的一个 queue 中存放的 message 是 否有数量限制?
答:可以认为是无限制,因为限制取决于机器的内存,但是消息过多会导致处理效率的
下降。