项目简介
本项目基于Apache Pulsar构建分布式消息系统。Apache Pulsar是高性能、低延迟的分布式消息队列,也是集消息传递、存储、轻量化函数式计算于一体的流数据平台。它采用计算与存储分离架构,支持云原生、多租户、持久化存储、多机房跨区域数据复制,具备高一致性、高吞吐、低延时及高可扩展性。
项目的主要特性和功能
- 多租户支持:支持多租户架构,多租户可共用资源,各租户数据有隔离性,每个租户能应用自己的身份验证和授权方案,命名空间是租户内独立管理单元。
- 存储与计算分离:Broker提供无状态计算服务,Bookie提供有状态存储服务,计算和存储资源可独立扩展,提高系统弹性和可扩展性。
- 云原生架构:是云原生应用,有无状态计算层、计算与存储分离特性,能利用云的弹性伸缩能力,有高扩容性和容错性。
- 多种消息传输协议支持:支持Kafka、RocketMQ、AMQP和MQTT等多种消息传输协议,可与多种现有消息系统无缝集成。
- 灵活的消费方式:提供独占模式、故障切换模式、共享模式和键共享模式等多种消费模式,满足不同消费需求。
- 高性能与可靠性:通过BookKeeper实现数据高可靠性和高性能,主题数据映射为多个Ledger,每个Ledger在服务端存储多个副本。
- 语义支持与一致性级别:支持幂等生产者,通过客户端自增序列ID、重试机制与服务端去重机制,保证单分区消息仅持久化一次且不丢失数据。
- 扩展能力:Broker负责接入、计算、分发消息,Bookie负责消息存储,两者均可按需动态扩缩容。
安装使用步骤
- 从项目仓库下载源码文件到本地。
- 确保已安装并配置好Apache Pulsar服务,可参考Pulsar官方文档进行安装和配置。
- 使用Maven或其他构建工具编译项目,确保所有依赖项正确安装。
- 运行编译后的项目,启动Pulsar客户端,开始生产和消费消息。
- 根据项目需求,配置生产者和消费者的参数,如主题名称、订阅模式、消息路由规则等。
- 通过发送和接收消息,测试系统各项功能,确保系统正常运行。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】