论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
数据库
›
SQL-Server
›
pulsar利用指南
pulsar利用指南
曹旭辉
论坛元老
|
2025-4-8 20:30:02
|
显示全部楼层
|
阅读模式
楼主
主题
1782
|
帖子
1782
|
积分
5346
Apache Pulsar 是 Apache 软件基金会顶级项目,是下一代云原生分布式消息流平台,集消息、存储、轻量化函数式计算为一体,采用计算与存储分离架构计划,支持多租户、持久化存储、多机房跨区域数据复制,具有强一致性、高吞吐、低延时及高可扩展性等流数据存储特性。以下从核心架构、功能特性、技能优势及应用场景等方面举行详细介绍:
一、核心架构
分层架构计划
Pulsar 采用
计算与存储分离
的云原生架构,由无状态服务层(Broker)和持久化存储层(BookKeeper)构成:
Broker
:负责消息的路由、负载均衡和元数据管理,不存储数据,支持快速扩容和故障转移。
BookKeeper
:由多个 Bookie 节点构成,提供分布式日志存储,通太过片(Segment)机制将数据均匀分布,每个分片独立存储并多副本复制,保障数据可靠性和高吞吐。
ZooKeeper
:负责集群元数据和谐和一致性管理。
分片存储与扩展
每个 Topic 分区的数据被拆分为多个分片(Segment),分片作为最小存储单元分布在 Bookie 节点上,支持动态扩容时无需数据迁徙。
存储层扩容通过新增 Bookie 节点实现,新分片优先写入新节点,避免传统分区存储的容量倾斜题目。
二、核心功能特性
多租户与资源隔离
支持租户(Tenant)和命名空间(Namespace)两级隔离,可配置存储配额、访问权限和消息过期策略,适合企业级多团队共享集群。
灵活的订阅模式
独占(Exclusive)
:单消耗者独占订阅,保障严格顺序性。
故障转移(Failover)
:主备消耗者自动切换,提升高可用性。
共享(Shared)
:多消耗者轮询消耗,提高吞吐但无序。
键共享(Key_Shared)
:雷同 Key 的消息路由到同一消耗者,保证 Key 级有序。
跨地域复制与分层存储
原生支持跨数据中心数据同步(同步/异步模式),用于灾备和环球化部署。
分层存储可将历史数据自动迁徙至 S3、HDFS 等低成本存储,淘汰热数据存储成本。
流批一体与轻量计算
支持消息队列和流式处置处罚的同一模子,同一数据可多次消耗。
内置
Pulsar Functions
框架,实现无服务器(Serverless)及时数据处置处罚,如过滤、转换和路由。
三、技能优势
性能与可靠性
低延迟高吞吐
:P99 延迟稳定在 5-15ms,支持每秒百万级消息处置处罚,性能不随分区数增加而下降。
强一致性
:基于 Quorum 协议的多副本同步写入,保障数据一致性。
云原生与扩展性
无状态 Broker 和分片存储计划,支持独立扩缩容,适合 Kubernetes 等云环境。
单集群可支持百万级 Topic,远超 Kafka 的扩展能力。
生态兼容性
提供多语言客户端(Java、Go、Python 等),兼容 Kafka API(KoP 组件),支持无缝迁徙。
与 Flink、Spark 等流计算框架深度集成,支持 SQL 查询和及时分析。
四、典型应用场景
金融领域
:及时交易处置处罚、风控监控,利用低延迟和强一致性保障业务可靠性。
电商与物联网
:订单异步处置处罚、设备数据收罗,通过共享订阅和分层存储应对高并发。
媒体与日志处置处罚
:及时保举、日志流水网络,联合 Pulsar Functions 实现流式 ETL。
微服务通讯
:解耦服务间依靠,支持事务消息和死信队列(DLQ)处置处罚异常场景。
五、安装与部署
单机模式(适合
开发
测试)
下载与解压
:
wget https://archive.apache.org/dist/pulsar/pulsar-2.8.1/apache-pulsar-2.8.1-bin.tar.gz
tar xvfz apache-pulsar-2.8.1-bin.tar.gz
复制代码
启动服务
:
bin/pulsar standalone # 自动启动ZooKeeper和BookKeeper
复制代码
验证运行
:
查看日志logs/pulsar-standalone.log,或执行bin/pulsar-admin clusters list,返回standalone表示成功。
集群模式(生产环境)
依靠组件
:
ZooKeeper
:管理元数据和和谐集群(配置conf/zookeeper.conf)。
BookKeeper
:持久化存储消息(配置conf/bookkeeper.conf,指定zkServers)。
Broker配置
:
修改conf/broker.conf,设置zookeeperServers和configurationStoreServers指向ZooKeeper集群地址。
启动服务
:
bin/pulsar-daemon start zookeeper # 启动ZooKeeper
bin/pulsar-daemon start bookie # 启动BookKeeper
bin/pulsar-daemon start broker # 启动Broker
复制代码
六、核心概念与利用
生产与消耗消息
命令行工具
:
# 生产消息
bin/pulsar-client produce my-topic --messages "Hello Pulsar"
# 消费消息
bin/pulsar-client consume my-topic -s "my-subscription"
复制代码
Java客户端示例
:
// 创建客户端
PulsarClient client = PulsarClient.builder().serviceUrl("pulsar://localhost:6650").build();
// 生产者发送消息
Producer<byte[]> producer = client.newProducer().topic("test-topic").create();
producer.send("Message".getBytes());
// 消费者订阅
Consumer<byte[]> consumer = client.newConsumer().topic("test-topic").subscriptionName("sub").subscribe();
Message<byte[]> msg = consumer.receive();
复制代码
订阅模式
独占订阅(Exclusive)
:仅答应一个消耗者毗连,实用于严格有序场景。
故障转移(Failover)
:主消耗者故障时自动切换备用消耗者,适合高可用需求。
共享订阅(Shared)
:多个消耗者轮询消耗,吞吐量高但无序。
键共享(Key_Shared)
:雷同Key的消息路由到同一消耗者,保证Key级有序(需消息指定Key)。
七、高级配置与优化
负载均衡
动态扩缩容
:Broker无状态计划,新增节点后负载自动迁徙。
策略配置
:
修改conf/broker.conf启用loadBalancerEnabled=true。
选择卸载策略(如ThresholdShedder)和放置策略(如ModularLoadManager)。
存储与性能
BookKeeper优化
:
配置I/O隔离路径(写入、追尾读、追赶读分离)。
调解journalSyncData=false提升写入性能(捐躯部分持久性)。
消息批处置处罚
:启用batchingEnabled淘汰小消息开销。
八、监控与维护
日志与指标
查看logs目录下的Broker/Bookie日志。
集成Prometheus监控(配置metricsProvider=org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider)。
多租户管理
通过租户(Tenant)和命名空间(Namespace)隔离资源:
bin/pulsar-admin tenants create my-tenant
bin/pulsar-admin namespaces create my-tenant/my-namespace
复制代码
九、最佳实践
开发
发起
:
利用persistent://tenant/namespace/topic规范Topic命名。
避免Shared模式下的消息顺序依靠。
生产环境调优
:
调解JVM堆内存(PULSAR_MEM参数)。
启用TLS加密通讯(配置webServiceUrlTls和brokerServiceUrlTls)。
十、总结
Apache Pulsar 凭借其云原生架构、多模式消息处置处罚和高扩展性,成为及时数据场景的优选方案。无论是金融级强一致需求,照旧海量物联网数据流,Pulsar 均能提供高效可靠的解决方案。其活跃的社区和持续迭代(如 2024 年发布的 3.1.x 版本加强 Geo-Replication 功能)进一步巩固了其在消息中心件领域的领先职位。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
曹旭辉
论坛元老
这个人很懒什么都没写!
楼主热帖
网络安全应急响应 - 03 - 日志分析与内 ...
Nmap抓包分析与绕过Windows防火墙 ...
Redis - 介绍与使用场景
Mysql 的Innodb引擎和Myisam数据结构和 ...
一招教你如何高效批量导入与更新数据 ...
【docker系列】docker API管理接口增加 ...
聊聊Spring事务控制策略以及@Transacti ...
用代码收集每天热点内容信息,并发送到 ...
Maven配置私有仓库
微服务架构演进
标签云
AI
运维
CIO
存储
服务器
浏览过的版块
公有云
主机安全
Postrge-SQL技术社区
快速回复
返回顶部
返回列表