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

RabbitMQ 是一个开源的消息队列中间件,基于 AMQP(Advanced Message Queuing Protocol,高级消息队列协议)标准实现。
Kafka 是一个开源分布式事件流平台。最初由 LinkedIn 开发,现在是 Apache 顶级项目。
RocketMQ 是一个开源分布式消息中间件。最初由阿里巴巴开发,现在是 Apache 顶级项目。
RocketMQ 的核心概念
分布式消息系统作为实现分布式系统可扩展、可伸缩性的关键组件,需要具有高吞吐量、高可用等特点。而谈到消息系统的设计,就回避不了两个问题:
假如生产者产生了 2 条消息:M1、M2,要保证这两条消息的顺序,应该怎样做?你脑中想到的可能是这样:
JMS
即 Java 消息服务(Java Message Service)API,是一个 Java 平台中关于面向消息中间件的 API。它用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java 消息服务是一个与具体平台无关的 API,绝大多数 MOM 提供商都对 JMS 提供支持。
JMS 有两种消息模型:
MQ(Message Queue,消息队列) 是一种异步通信机制,用于在不同服务、应用或系统组件之间可靠地传递消息。它的核心思想是解耦生产者和消费者,通过缓冲消息来提高系统的可靠性、扩展性和可维护性。
MQ 的核心概念
消息队列(Message Queue,简称 MQ)技术是分布式应用间交换信息的一种技术。
消息队列主要解决应用耦合,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。是大型分布式系统不可缺少的中间件。
Apache RocketMQ 是一个分布式 MQ 和流处理平台,具有低延迟、高性能和可靠性、万亿级容量和灵活的可扩展性。
RocketMQ 由阿里巴巴孵化,被捐赠给 Apache,成为 Apache 的顶级项目。
Kafka 是 Apache 的开源项目。Kafka 既可以作为一个消息队列中间件,也可以作为一个分布式流处理平台。
Kafka 用于构建实时数据管道和流应用。它具有水平可伸缩性,容错性,快速快速性。