RabbitMQ 面试
RabbitMQ 简介
【简单】RabbitMQ 是什么?🌟
RabbitMQ 是一个开源的消息队列中间件,基于 AMQP(Advanced Message Queuing Protocol,高级消息队列协议)标准实现。

...大约 30 分钟
RabbitMQ 是一个开源的消息队列中间件,基于 AMQP(Advanced Message Queuing Protocol,高级消息队列协议)标准实现。
消息引擎系统的作用:
Kafka 是一个开源分布式事件流平台。最初由 LinkedIn 开发,现在是 Apache 顶级项目。
broker
:broker 模块(broker 启动进程) 。client
:消息客户端,包含生产者、消息消费者相关类。common
:公共包。dev
:开发者信息(非源代码) 。distribution
:部署实例文件夹(非源代码) 。example
:RocketMQ 示例代码。filter
:消息过滤相关基础类。filter
:消息过滤服务器实现相关类(Filter 启动进程) 。logappender
:日志实现相关类。namesrv
:N ameServer 实现相关类(Names 巳 rver 启动进程) 。openmessaging
:消息开放标准,正在制定中。remoting
:远程通信模块,基于 Netty 。srvutil
:服务器工具类。store
:消息存储实现相关类。style
:checkstyle 相关实现。test
:测试相关类。tools
:工具类,监控命令相关实现类。RocketMQ 是一个开源分布式消息中间件。最初由阿里巴巴开发,现在是 Apache 顶级项目。
RocketMQ 的核心概念
分布式消息系统作为实现分布式系统可扩展、可伸缩性的关键组件,需要具有高吞吐量、高可用等特点。而谈到消息系统的设计,就回避不了两个问题:
假如生产者产生了 2 条消息:M1、M2,要保证这两条消息的顺序,应该怎样做?你脑中想到的可能是这样:
从功能上讲,Kafka 源码分为四大模块。
消息队列的应用
JMS
即 Java 消息服务(Java Message Service)API,是一个 Java 平台中关于面向消息中间件的 API。它用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java 消息服务是一个与具体平台无关的 API,绝大多数 MOM 提供商都对 JMS 提供支持。
JMS 有两种消息模型: