一、概述

消息队列是大型分布式系统不可缺少的中间件,也是高并发系统的基石中间件。常见的主流消息队列有 ActiveMQ、RabbitMQ、Kafka、RocketMQ、Pulsar 等。

image-20240830002718921

二、实现

2.1. Kafka

Kafka 起初是由 Linkedin 公司采用 Scala 语言开发的一个多分区、多副本且基于 ZooKeeper 协调的分布式消息系统,现己被捐献给 Apache 基金会。 目前 Kafka 已经定位为一个分布式流式处理平台,它以高吞吐、可持久化、可水平扩展、支持流数据处理等多种特性而被广泛使用。目前越来越多的开源分布式处理系统如 Spark、 Flink 等都支持与 Kafka 集成。

2.2. Pulsar

Apache Pulsar 是下一代云原生分布式消息流平台,集消息、存储、轻量化函数式计算为一体,采用计算与存储分离架构设计,支持多租户、持久化存储、多机房跨区域数据复制,具有强一致性、高吞吐、低延时及高可扩展性等流数据存储特性,被看作是云原生时代实时消息流传输、存储和计算最佳解决方案,其整体架构图如下所示

image-20240830002852013