点击上方“IT那活儿”公众号--专注于企业全栈运维技术分享,不管IT什么活儿,干就完了!!!
Pulsar简介
多租户支持
Pulsar支持多租户,每个租户可以单独设置认证机制、存储配额、隔离策略等。
高吞吐与低延迟
Pulsar通过分区Topic和计算存储分离的设计,实现了高吞吐和低延迟的消息传递。
持久化存储
支持数据持久化存储,确保消息不丢失。同时,支持数据分层式存储,可将数据从热/温存储卸载到冷/长期存储。
多集群部署与数据复制
原生支持多集群部署,集群间支持无缝的数据复制(Geo-replication),可以实现跨地域的消息传递和消费。
高扩展性
可无缝扩展至上百万个Topic,支持多种topic订阅模式(独占/共享/故障转移)。
多语言客户端
支持多种编程语言客户端,如Java、Go、Python和C++等。
主要运行两个服务组件:
HTTP服务(监听8080端口,提供REST API供管理员管理集群和进行主题查询); TCP服务(监听6650端口,处理所有数据的传输)。
上层是无状态 Broker,复制消息分发和服务; 下层是持久化的存储Bookie 集群。

Pulsar的订阅模式
独占(exclusive) 一个订阅只与一个消费者关联,只有这个消费者能接收到Topic的全部消息 共享(shared) 一个订阅可以与多个消费者关联,消息通过轮询机制发送给不同的消费者。 灾备(failover) 类似于独占模式,但允许多个消费者订阅同一个Topic,当主消费者断开连接时,由另一个消费者接替消费。 Key共享(key_shared) 一个订阅可以与多个消费者关联,消息根据给定的映射规则,相同key的消息由同一个消费者消费。

数据分区
Hash分区策略 使用消息内容的哈希值来确定消息属于哪个分区。这种策略有助于确保特定消息始终进入相同的分区,适用于需要保持消息顺序的场景。 Round Robin分区策略 将消息轮流分配到不同的分区,确保消息均匀分布。这种策略适用于不需要保持消息顺序的场景。 Range分区策略 根据消息的键值范围将消息分配到不同的分区。这种策略对于按范围查询消息非常有用。

应用场景
4.1 实时流处理
分布式流处理平台 Pulsar支持高吞吐量的实时数据流处理,适用于需要实时处理和分析大量数据的场景,如物联网(IoT)、金融交易系统等。 事件驱动架构 在事件驱动的应用系统中,Pulsar可以将事件消息快速分发到各个订阅者,实现事件的快速响应和处理。
4.2 消息队列
传统消息队列应用场景 Pulsar支持点对点和发布/订阅两种消息模型,适用于需要异步通信、解耦系统组件、提高系统可伸缩性和可靠性的场景。 微服务架构 在微服务架构中,Pulsar可以用作不同微服务间的通信中间件,实现服务的解耦和异步调用。
4.3 大数据处理
日志收集和分析 Pulsar可以作为日志数据的收集和分发中心,将来自不同系统的日志数据集中存储,并供实时分析系统进行处理。 DB Binlog增量数据采集 Pulsar在大数据领域,特别是在DB Binlog增量数据采集、分拣等场景中得到了广泛应用。它可以高效地采集数据库的变化数据,并进行实时处理和分析。

本文作者:徐志强(上海新炬中北团队)
本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




