专业的技术文档 | Apache Pulsar 如何满足金融级的容灾场景

news/2025/11/21 13:21:34/文章来源:https://www.cnblogs.com/yangykaifa/p/19252403

本文整理自谙流科技技术合伙人刘德志在 Pulsar Meetup 上的演讲,一起来看 Pulsar 在金融级容灾场景下的实践方案。

容灾的核心诉求

在现代分布式系统架构中,容灾是确保业务连续性的基石。其核心目标是在系统遭遇灾难时,能够快速恢复业务并最大程度地减少损失,“快速”和“减少损失”是衡量容灾方案有效性的关键维度。灾难类型多样,主要包括自然灾害(如洪水、火灾导致机房物理损毁)、网络攻击(如云环境中的 DDoS 攻击)、硬件故障(如磁盘、CPU 的批次性困难)以及系统级故障(如操作系统或中间件升级引发的全局性服务中断)。

为应对这些风险,业界普遍采用冗余策略,从容灾层次来看:接入层作为无状态服务,容灾实现相对简单;业务层通常为无状态或轻状态,构建难度中等;最具挑战性的是数据层,尤其是在数据库双活、消息传输等场景下,保证数据一致性是跨层容灾的最大技术难点。建立方式上,从分布式能力(解决单机问题)、跨机房部署(应对单机房故障)、跨 AZ 部署(云环境可用区级容灾)到跨地域部署(城市级最高级别防护),防护能力与成本逐级攀升。

金融行业作为“离钱近”的领域,受监管严格约束,对容灾的要求最高。然而,高等级的容灾能力意味着高昂的成本,这要求业务层、设施层、团队等多部门协作,构成综合成本。最终,在成本开销与恢复时间要求之间存在着直接的权衡关系,跨地域数据零丢失方案成本最高,企业需根据自身业务连续性要求选择对应的抗风险级别。

Pulsar 单集群容错能力

Apache Pulsar 的云原生架构为其卓越的容灾能力奠定了坚实基础。其诞生于2012年的雅虎,结合了 Kafka 的架构优势与高可靠性设计,计算存储分离的理念使其天然适合容器化环境,有效避免了数据与节点的单点绑定难题,在数据扩缩容方面优于传统架构。

在单集群内,Pulsar的容错能力体现在多个层面:

  • 计算层(Broker)的弹性:Broker 作为无状态组件,其上的 Topic 按分区级别动态分布在多个 Broker 上。当某个 Broker 发生故障时,Topic 会自动、迅速地(秒级)迁移到存活的 Broker 上。生产者和消费者在异常时会自动重连新 Broker,整个过程对业务影响极小,毫秒级即可完成。

  • 存储层(Bookie)的可靠性:数据通过多副本机制均衡分布在多个 Bookie 节点上,并采用分片条带化方式写入。这种设计避免了数据绑定在特定节点,新节点可快速加入集群参与数据分片。当某个Bookie节点异常时,读写请求会自动切换至正常副本,服务几乎不受影响,材料在后台异步恢复,相比传统架构(如Kafka)的分钟级恢复,Pulsar实现了秒级故障转移,优势明显。

  • 无缝扩容与自愈:集群支持敏捷扩容,新 Bookie 节点加入后会自动参与数据写入,流量自动均衡到各节点,最终达到稳定状态。整个扩缩容过程业务流量波动极小,无需人工干预,展现了强大的故障自愈特性。

Pulsar 单集群灾备方案

为应对更大范围的故障,Pulsar 提供了超越单集群的部署能力。

1

跨机房部署

在跨机房部署场景下,Pulsar 充分利用其架构优势。无状态的 Broker 故障时可通过 Topic 迁移飞快恢复,而数据层的容灾则通过机架感知配置实现,确保 Bookie 的数据副本被分布到不同机房的节点上,从根本上避免了单机房故障导致的数据全部丢失。此外,平台还具备故障降级机制,在机房级故障发生时,框架可以降级为单机房写入模式,以确保服务持续可用,待故障恢复后自动切回多机房同步状态。

2

K8S部署

凭借Pulsar Operator实现的,它负责管理单个Kubernetes集群内所有Pulsar相关资源(如ZooKeeper、Bookie、Broker)的创建和生命周期管理,并定义了相应的自定义资源(CRD)。Operator 实现了组件启动顺序控制和健康状态检查等自动化流程,相当于将传统虚拟机环境中的部署脚本转化为云原生的声明式管理方式,奠定了自动化、标准化部署的基石。

3

跨 K8S 部署

在云原生环境中,跨 K8S 集群部署成为金融客户(尤其是要求K8S集群部署于单机房内网的银行)的新需求。Pulsar 的解决方案采用“1个管理集群 + 3个成员集群”的架构,通过专用的 Pulsar Multiple Operator、Karmada Operator(负责多集群统一控制与调度)和 Pulsar Operator(负责单集群资源管理)协同工作。此方案成功解决了跨集群网络互通、全局服务发现和有状态服务资源管理等核心挑战,并通过Operator编排完成跨集群的顺序启动控制,确保部署有序性。

跨K8S部署极大地提升了容灾等级,能够有效防范整个Kubernetes集群级别的故障。在此架构下,Pod 级别和 Operator 级别故障对所有服务无影响;Node 级别和 K8S 集群级别故障则要求 ZK/Bookie 保持半数以上副本,而 Broker/Proxy 服务不受影响。

Pulsar 多集群灾备方案

对于金融级关键业务所需的最高级别容灾——地域级防护,Pulsar提供了成熟的多集群灾备方案。

方案一原理直接,即建立多个元数据完全相同的Pulsar集群,生产时进行双写,消费时多集群同时消费。该方案架构简单,具备高可用性和飞快切换的优势,但劣势在于故障集群的积压数据需等待恢复后才能处理,且资源消耗较高。

方案二则利用 Pulsar 内置的GEO 复制机制,这是更受推崇的方式。它支持 Topic、Namespace 等级别的同步安装,无需额外创建消费者订阅,直接通过 Broker 读取并写入素材,保证了消息的完整顺序性和可靠性。其核心在于高效的偏移量同步,采用批量同步算法,通过请求远端集群的生产位置进行比对更新,避免了维护集群间消息ID映射的传统高开销方案。但需注意,此方式可能存在少量重复消费,需要业务端做好幂等处理。

在灾备切换控制上,Pulsar 通过服务发现模块的 failover 机制监听地址变更,建议采用手动切换以保证决策的自主可控。切换回主集群时,可根据 Topic 维度差异化处理,并依赖运维辅助工具(如运行快照、监控告警)来帮助决策。整个服务发现和 GEO 同步配置可借助可视化页面管理,满足金融业对主从、汇聚、全联通等灵活复制模式的需求。

总结

综上所述,Pulsar 凭借其云原生存算分离架构,提供了一整套从微观到宏观的容灾解决方案:

  • 单机房方案:提供机器级容灾,适合非关键业务场景。

  • 跨机房/跨K8S方案:提供机房级或K8S集群级防护,服务与数据恢复速度快,可靠性中等,适合大多数企业应用。

  • 灾备集群方案:给予地域级保护,是金融级关键业务的最优选择。其中,异步同步模式恢复快但可能有数据丢失;同步复制模式恢复较快且数据可靠性最高,完美支持两地三中心架构。

在选择容灾方案时,企业需综合考量成本效益、实施复杂度和业务需求。成本从单集群到灾备集群逐级升高,跨架构方案的复杂度也呈指数级增长。决策者应根据业务的连续性要求选择对应的抗风险级别,对于关键架构,建议采用数据同步的跨地域灾备部署,而对于测试环境等非核心场景,单集群或跨机房方案则是更具性价比的选择。

图片

Apache Pulsar 作为一个高性能、分布式的发布-订阅消息环境,正在全球范围内获得越来越多的关注和应用。如果你对分布式系统、消息队列或流处理感兴趣,欢迎加入我们!

Github:

https://github.com/apache/pulsar

图片

扫码加入 Pulsar 社区交流群

最佳实践

互联网

腾讯BiFang | 腾讯云 | 微信 | 腾讯 | BIGO | 360 | 滴滴 | 腾讯互娱 | 腾讯游戏 | vivo | 科大讯飞 | 新浪微博 | 金山云 | STICORP | 雅虎日本 | Nutanix Beam | 智联招聘

金融/计费

腾讯计费 | 平安证券 | 拉卡拉 | Qraft | 甜橙金融

电商

Flipkart | 谊品生鲜 | Narvar | Iterable

机器学习

腾讯Angel PowerFL | Discord

物联网

云兴科技智慧城市 | 科拓停车 | 华为云 | 清华大学能源互联网创新研究院 | 涂鸦智能

通信

江苏移动 | 移动云

教育

网易有道 | 传智教育

推荐阅读

免费可视化集群管控 | 资料合集 | 实现原理 | BookKeeper储存架构解析 | Pulsar运维 | MQ设计精要 | Pulsar vs Kafka | 从RabbitMQ 到 Pulsar | 内存使用原理 | 从Kafka到Pulsar | 跨地域复制 | Spring + Pulsar | Doris + Pulsar | SpringBoot + Pulsar

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/972041.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

通用型质量管理SaaS平台的构建逻辑与市场实践‌

一、行业需求的碎片化现实‌ 2018年末中国规模以上企业(年主营业务收入≥2000万元)达37万家,按《国民经济行业分类与代码》划分为1380个细分领域,单个行业的平均企业数量仅约270家,且并非所有企业都会采购质量管理…

SBDAF60V3-ASEMI可直接替代安世PMEG6030EP

SBDAF60V3-ASEMI可直接替代安世PMEG6030EP编辑:ll SBDAF60V3-ASEMI可直接替代安世PMEG6030EP 型号:SBDAF60V3 品牌:ASEMI 封装:SMAF 正向电流:3A 反向电压:60V 正向压降:0.55V~0.95V 引线数量:2 芯片个数:1 芯…

Ubuntu 框架使用 Docker 部署 Jenkins 详细教程

Ubuntu 框架使用 Docker 部署 Jenkins 详细教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &…

function sql的错误处理方法

在处理SQL错误时,可以采用以下方法:使用try-catch语句:在可能抛出异常的代码块中使用try-catch语句,可以捕获并处理异常。在catch语句中,可以根据异常类型进行相应的处理,例如记录日志、显示错误信息等。 使用数…

function sql的示例代码有哪些

以下是一些常见的 SQL 示例代码:创建数据库:CREATE DATAbase database_name;创建数据表:CREATE TABLE table_name (column1 data_type,column2 data_type,... );插入数据:INSERT INTO table_name (column1, column…

【CI130x 离在线】 C++一个类中调用另一个类的方法

有几种解决方案,根据你的具体需求选择: 方案1:传递CISerialPort对象引用(推荐) 在需要使用CheckConnection()的类中持有CISerialPort的引用:cpp// 在需要使用CheckConnection的类中 class MyOtherClass { privat…

ERP/MES与QMS的协同价值:为什么企业需要专业质量管理系统的深度解析

一、质量困局:ERP/MES的局限性 当宝马汽车80%的客户投诉源于供应商来料质量问题时,这暴露出一个行业共性:ERP/MES系统虽已普及,但质量管控仍存在严重短板。以某汽车零部件企业为例,其SAP ERP质量模块仅能实现数据…

PostgreSQL技术大讲堂 - 第111讲:浅谈向量数据库pgvector的使用

PostgreSQL从入门到精通系列课程,100+节PG技术讲解,让你从小白一步步成长为独当一面的PG专业人员,点击这里查看部分免费视频内容。第111讲:浅谈pgvector的使用内容介绍:1、什么是向量数据库2、什么是向量索引3、有…

人大金仓kingbase数据库大小写敏感设置

在不需要备份数据库的情况下 1、停止数据服务,一般在data目录 在kingbase的安装目录,在/kingbase/Server/bin 中运行,./sys_ctl -D /kingbase/data stop2、重新初始化数据库(启用大小写不敏感) 执行命令, ./ini…

详细介绍:数据结构八大排序:堆排序-从二叉树到堆排序实现

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025年11月最新推荐!云南旅游旅行社口碑排行榜权威发布,帮你选靠谱服务商避坑指南

云南以多元民族文化与瑰丽自然景观成为旅游热门地,但旅游市场中旅行社质量良莠不齐,隐性消费、行程缩水、服务断层等问题频发:低价团暗藏强制购物陷阱,承诺的非遗体验沦为走马观花,山区线路用车不合规存安全隐患。…

大企业数字化项目失败困局与破局之道

一、大企业数字化项目的高失败率根源 大企业数字化项目失败率居高不下,核心在于其组织特性与数字化建设模式的矛盾。部门复杂、需求多元、人员众多、想法各异的企业生态,必然导致定制开发成为唯一选择。这种模式如同…

2025年11月新推荐!云南旅游旅行社口碑排行榜,权威榜单助选靠谱服务商

云南以多元民族文化与瑰丽自然景观成为旅游热门地,但旅游市场中旅行社质量良莠不齐,隐性消费、行程缩水、服务断层等问题频发:低价团暗藏强制购物陷阱,承诺的非遗体验沦为走马观花,山区线路用车不合规存安全隐患。…

2025 年 11 月实木定制地板厂家推荐排行榜,纯实木地板,原木地板,定制木地板,多层实木地板,环保实木地板公司推荐

2025年11月实木定制地板厂家推荐排行榜 实木定制地板作为高端建筑装饰材料,近年来在商业空间、高端住宅和公共建筑领域的应用日益广泛。随着消费者对环保性、个性化和品质要求的提升,实木定制地板行业正经历从标准化…

评估质量管理软件(QMS)的试金石——试用、试用、还是试用!

近年来,企业信息化建设浪潮席卷全球,但令人遗憾的是,许多项目最终以失败或未达预期告终。面对这一困境,如何确保数字化投入真正产生价值?答案或许简单却至关重要:试用、试用、还是试用! 一、为何必须试用? 想象…

2025 年 11 月机床厂家推荐排行榜,数控机床,智能数控机床,双头对接机床,6150机床,线轨机床,硬轨机床,重型机床公司推荐

2025年11月机床厂家推荐排行榜:数控机床与智能装备选购指南 一、行业背景与发展趋势 随着制造业向智能化、精密化方向快速发展,机床作为工业母机的地位日益凸显。当前,数控机床、智能数控机床等高端装备已成为制造业…

2025 年 11 月硬轨机床厂家推荐排行榜:高刚性硬轨机床,重切削硬轨机床,精密硬轨机床,数控硬轨机床公司推荐

2025 年 11 月硬轨机床厂家推荐排行榜:高刚性硬轨机床,重切削硬轨机床,精密硬轨机床,数控硬轨机床公司推荐 在制造业转型升级的浪潮中,硬轨机床作为工业母机的重要组成部分,其性能直接影响着加工精度和生产效率。…

重构lazarus时出现Error: linker: pipe: No such file or directory的解决方法

重构lazarus时出现Error: linker: pipe: No such file or directory的解决方法最近发现重构Lazarus时出现Error: linker: pipe: No such file or directory,虽然不影响重构,但红色看起来很不顺眼,查了半天,发现是m…

function sql的版本兼容性如何

SQL(结构化查询语言)的版本兼容性是一个复杂的话题,因为它涉及到多个方面,包括语法、功能、性能以及数据库管理系统的实现等。以下是一些关于SQL版本兼容性的关键点:语法兼容性:不同的SQL版本可能会引入新的语法…

Java 分哪些版本 都有什么不同

Java 的版本主要分为 Java SE(Standard Edition)、Java EE(Enterprise Edition)、Java ME(Micro Edition) 三个核心版本,以及后来衍生的 Java 9+ 模块化版本 和 OpenJDK 等分支。以下是详细介绍:Java SE(Stan…