写点什么

企业级消息系统构建指南

  • 2025-09-29
    北京
  • 本文字数:10342 字

    阅读完需:约 34 分钟

企业级消息系统构建指南

作者 | 谙流科技奇秋月


消息系统是现代企业数据基础设施的核心组件之一,用于在不同服务或应用之间可靠、高效地传输数据。随着企业业务规模扩大与系统复杂度的提升,消息系统通过异步解耦和削峰填谷等关键能力,显著提升了系统的弹性与可扩展性。它使得数据处理流程更具灵活性,业务组件之间能够独立演进,同时有效应对突发流量,保障系统稳定运行。构建高效的消息系统不仅有助于实现实时数据传输与多应用协同,更为企业未来的数据驱动决策奠定了坚实基石。


背景介绍


消息系统是一种在不同软件组件或服务之间实现消息传递与协调的中间件平台。其核心职能是确保消息能够可靠、高效地从发送方传递至接收方,并支持多种通信模式,如发布 / 订阅和点对点传输。随着分布式架构和微服务模式的普及,消息系统已成为企业实现系统间松耦合与数据同步的重要工具。



消息系统通常包含若干基础概念。Topic 是消息的逻辑分类单位,生产者(Producer)将消息发布到指定 Topic,消费者(Consumer)则通过订阅相应 Topic 来接收消息;Producer 是消息的发送端,Consumer 是消息的接收端,Broker 作为中间节点负责消息的接收、存储和路由。此外,多租户(Multi-tenancy)机制支持在同一消息平台上为不同业务线或团队提供资源隔离与独立命名空间,从而提升系统整体资源利用率和管理效率。其他重要概念还包括消息持久化、订阅模式(如独占、共享和灾备模式)、消息顺序性、重试机制和死信队列等,这些共同构成了消息系统稳定运行的基础架构。


消息系统的典型使用场景包括:


  • 异步解耦:消息系统将紧耦合的组件分离,生产者在完成主要逻辑后即可返回,无需等待消费者处理,显著提升系统响应速度和容错能力。

  • 削峰填谷:消息队列作为缓冲层,有效平衡生产与消费速率差异,避免突发流量冲垮后端服务,保证系统平稳运行。

  • 事件驱动架构(EDA):作为事件总线传递状态变更事件,触发下游业务流程执行。

  • 数据同步:消息系统能实现跨系统、跨地域的数据复制,保证数据最终一致性。

  • 流处理管道:连接实时数据源与流计算引擎,支持复杂事件处理与实时分析。


此外,消息系统还常用于日志收集、消息推送、任务队列调度和微服务协同等场景,为现代分布式系统提供灵活可靠的通信基础。


从业务价值角度看,消息系统不仅支撑了实时数据传输和多系统协同,还显著提升了架构响应业务变化的敏捷性。它帮助企业构建高可用的分布式系统,降低模块间的耦合度,增强系统对流量波动的适应能力。通过提供可靠的消息传递保证,消息系统为关键业务场景如金融交易、订单处理、实时监控等提供了坚实的数据流转基础。同时,标准化消息平台的建设有助于企业整合异构系统,统一数据流通范式,为数字化转型提供核心基础设施支撑。具备良好扩展性和运维友好性的消息系统,正日益成为企业构建现代数据架构的战略性组成部分。


选型指南


在企业级消息系统构建过程中,技术选型是至关重要的一环。目前主流的开源消息系统包括 Apache Kafka、Apache Pulsar、RabbitMQ、Apache RocketMQ 和 NATS,它们各有特色,适用于不同场景。Kafka 以其高吞吐和成熟生态著称,Pulsar 作为云原生时代的新一代消息流平台,凭借其存算分离架构和全球化部署能力脱颖而出;RabbitMQ 以灵活的路由和协议支持见长;RocketMQ 在顺序消息和事务场景表现优异;而 NATS 则极致追求轻量级和高性能。下面将分别介绍这些系统,并通过综合对比表格辅助选型决策。


Apache Kafka


Kafka 最初由 LinkedIn 于 2011 年开发并开源,2012 年成为 Apache 孵化项目,2014 年正式毕业成为顶级项目。它采用分区和多副本机制构建分布式架构,依赖 ZooKeeper 进行元数据管理和协调(新版本已逐步转向去 ZooKeeper 的 KRaft 模式)。Kafka 的设计哲学以高吞吐量为首要目标,支持持久化存储与容错机制,提供至少一次和精确一次的消息投递语义。它与主流流处理框架(如 Flink、Spark Streaming)深度集成,构建了完整的流处理生态。Kafka 非常适用于日志聚合、实时流处理和大规模事件流场景,但其传统的存算耦合架构在云原生环境下的弹性伸缩存在一定局限(LinkedIn 已于 2025 年转向新的自研存算分离消息系统)。


Apache Pulsar


Pulsar 诞生于 2012 年雅虎内部项目,2016 年开源并捐赠给 Apache 基金会,2018 年 9 月毕业成为顶级项目。其革命性的计算与存储分离架构,无状态 Broker 负责消息收发,Apache BookKeeper 提供持久化存储,天然支持云原生部署和弹性扩缩容。Pulsar 支持多租户隔离、分层存储、跨地域复制和延迟消息等企业级特性,提供统一的消息队列和流处理模型,既能以高吞吐、高性能支撑传统消息队列需求,又能以高可靠、高一致、高可用的特性支持流处理场景。特别值得一提的是,Pulsar 通过 Kafka-on-Pulsar(KoP)和 RabbitMQ-on-Pulsar(AoP)协议处理插件,支持从 Kafka 和 RabbitMQ 无缝迁移,大大降低了用户迁移成本。Pulsar 适用于金融交易、物联网数据处理、实时分析和跨地域部署等对一致性、可靠性和扩展性要求极高的场景。


RabbitMQ


由 Rabbit Technologies 于 2007 年基于 AMQP 协议开发,现由 VMware 旗下的 Spring 团队维护。其核心架构采用"生产者 - 交换机 - 队列 - 消费者"模型,通过多种交换机类型(Direct、Topic、Fanout、Headers)实现灵活的消息路由,支持 AMQP、MQTT、STOMP 等多种协议。RabbitMQ 提供消息持久化、确认机制、死信队列和镜像队列等可靠性保障机制,管理界面友好,插件生态丰富。它非常适合传统企业应用集成、微服务异步解耦和任务队列场景,但在超大规模吞吐和横向扩展方面存在一定限制。


Apache RocketMQ


由阿里巴巴于 2012 开发并开源,2016 年捐赠给 Apache,2017 年正式毕业成为顶级项目。其架构包含 NameServer(负责元数据管理)、Broker(负责消息存储)、Producer 和 Consumer 四个核心组件,支持顺序消息、分布式事务消息、消息过滤和轨迹追踪等特性。RocketMQ 有低延迟、高可靠和高实时性的特点,广泛应用于电商、金融和物联网等场景。


NATS


NATS 由 Derek Collison 创建,最初源于 VMware 的研究项目,2015 年正式开源。NATS 采用极简设计哲学,提供"最多一次"传输语义,聚焦高性能和可扩展性,不支持消息持久化、事务或增强交付模式。NATS 包含两个版本:NATS Core 提供基础消息功能,NATS JetStream 提供持久化和至少一次语义。它适用于微服务间同步 / 异步通信、服务发现和内部数据总线等对持久性要求不高的轻量级场景。


下表从多个维度对上述消息系统进行综合对比,旨在为企业选型提供参考:



从对比中可以看出,Pulsar 在可扩展性、多租户支持、跨地域复制和统一消息流处理方面表现突出,其云原生架构特别适合现代企业全球化部署和弹性伸缩的需求。Pulsar 的一站式特性使其既能以高吞吐高性能支撑传统消息队列需求,又能以高可靠高一致高可用性能支持流处理场景,同时通过协议兼容性大大降低了从 Kafka 或 RabbitMQ 迁移的技术门槛。Kafka 适合日志和流处理场景,RabbitMQ 适用于传统企业应用,RocketMQ 适合在线场景的事务处理,NATS 则适合内部服务通信。企业应结合自身业务规模、运维能力和场景特性进行选择,若追求高性能、低延迟和未来可扩展性,Pulsar 无疑是更面向未来的选择。


应用实践


腾讯计费平台高可用消息系统建设


腾讯计费平台(米大师)作为支撑腾讯内部业务千亿级营收的核心系统,需要处理全球 180 多个国家地区的支付交易,托管 300 多亿账户,为上万业务代码提供计费服务。在这个庞大的计费体系下,确保每笔交易的"钱货一致"成为最关键的业务要求。平台自研的分布式交易引擎 TDXA 致力于解决应用层交易一致性问题,而消息系统作为整个架构的重要组成,为交易事务提供了高可靠的消息通道保障。


业务痛点与挑战


腾讯计费面临的核心挑战在于如何保障分布式环境下的交易一致性。系统需要处理每日 100 亿 + 的交易请求,跨越 80 多个支付渠道和 300 多个业务逻辑,调用链路长且复杂。网络超时、系统故障等异常情况频繁发生,特别是在海外支付业务中更为明显。同时,在类似王者荣耀周年庆等大型活动期间,系统需要承受 10 倍以上的流量突发,对消息系统的吞吐量和稳定性提出极高要求。此外,系统还需要提供实时对账能力,尽早发现并解决交易异常,保障用户体验。


技术选型


在消息系统选型过程中,团队对 Kafka、RocketMQ 和 Pulsar 进行了深入评估。Kafka 虽然在大数据日志处理方面表现优异,但其在金融级一致性保障方面存在不足;RocketMQ 则存在 Topic 运营不友好、不支持按 Topic 删除失效消息等局限。最终选择 Pulsar 主要基于以下考量:首先,Pulsar 基于 BookKeeper 的存储架构天然提供强一致性保证,满足计费系统"数据一条不能丢"的基本要求;其次,存算分离架构便于水平扩展,能够应对海量消息堆积需求;此外,Pulsar 支持多租户和多域部署,与腾讯计费的全球化业务布局高度契合;最后,其丰富的消费模式和毫秒级响应时间能够满足亿级支付场景下的性能要求。


业务实践与优化


在实际落地过程中,团队对 Pulsar 进行了深度优化。针对计费场景常见的延迟消息需求,开发了 Delay Topic 和 Time wheel 两种模式,支撑超时重试和营销活动场景。引入二级 Tag 机制,在不增加 Topic 管理负担的前提下,实现了按业务代码过滤消息的能力。建设了完善的控制台系统,实现对消息全生命周期的追踪管理,包括消息内容查询、生产者溯源和消费状态监控。构建了多维监控告警体系,通过积压告警、延迟告警和失败告警等机制,确保系统异常能够秒级发现并及时处理。



目前,腾讯计费平台已部署 8 大 Pulsar 集群,管理 600+ 个 Topic,日均处理 100 亿 + 交易请求,峰值 QPS 达到 50 万 +,日均消费数据量超过 10TB。系统实现了 5 个 9 的高可用性,通过统一的 HTTP proxy 接入支持多语言客户端,并在客户端层面增加了生产失败重试和降级容灾能力。这些实践不仅保障了计费系统的高可靠运行,也为其他金融级应用场景提供了可复用的消息系统建设经验。


华为终端云消息系统中台建设实践


华为终端云服务作为华为终端业务的核心组成部分,为全球用户提供云空间、应用市场、视频、音乐等全方位数字生活服务。面对日益复杂的业务场景和快速增长的数据规模,华为终端云将其消息系统从 Kafka 迁移至 Apache Pulsar,并基于 Pulsar 构建了统一的消息队列中台,有效解决了多集群运维复杂、资源利用率低、容灾建设困难等核心挑战。



业务痛点与挑战


华为终端云消息系统支撑着手机推送、游戏中心、应用市场等多个关键业务场景,原有基于 Kafka 的架构面临四大核心挑战。首先是多集群运维复杂度高,不同业务需维护多种消息队列集群,缺乏统一的高级特性支持(如延迟消息、死信消息、海量分区等)。其次是云原生环境适配能力不足,Kafka 扩容需人工干预和数据迁移,过程耗时且影响业务性能。第三是容灾建设困难,跨 AZ 容灾存在网络延迟导致的性能下降问题,主备容灾模式资源闲置率高。最后是资源利用率低下,计算资源因业务隔离难以提升,存储资源因需预留冗余空间导致磁盘利用率不足,整体建设成本居高不下。


技术选型


在全面评估后,华为终端云选择 Apache Pulsar 作为新一代消息系统核心。Pulsar 的存算分离架构完美适配云原生环境,支持秒级伸缩且对业务无感知;多协议接入能力(Kafka、Flink、RESTful 等)使得一套集群即可满足多样化业务需求;原生支持延迟消息、死信消息等高级特性,避免了多系统维护的复杂性。此外,Pulsar 的跨 AZ 容灾机制通过优化机架感知和副本分布策略,显著降低了网络延迟对性能的影响。这些特性使 Pulsar 成为华为终端云构建统一消息中台的理想选择。


业务实践与优化


在落地实践中,华为终端云基于 Pulsar 构建了统一的消息队列中台。首先实现了多协议接入和统一 SDK 封装,业务无需感知底层消息系统差异,后续可无缝更换内核。针对云原生环境,利用 Pulsar 的存算分离特性,实现了 Bookie 节点分钟级扩容(相比 Kafka 数小时的大幅提升),并通过优化流量均衡算法解决节点重启后的流量分配问题。


在容灾建设方面,团队在 Pulsar 社区版本基础上优化了跨 AZ 标签能力,支持单元化部署和故障自动降级机制。创新性地提出共享逃生池方案,打破 1:1 容灾集群模式,实现多套主集群共享一套逃生集群,使容灾成本下降 20% 以上,CPU 使用率提升 10%。


资源利用率提升方面,通过容器化管理和存储资源池化,实现了计算和存储资源的动态伸缩与共享。Pulsar 的无状态 Broker 易于容器化部署,而有状态 Bookie 节点通过元数据集中管理,为构建统一存储池奠定了基础。这些优化措施显著提升了资源利用率,降低了整体运营成本。


目前,华为终端云基于 Pulsar 的消息中台已稳定支撑多个核心业务场景,实现了运维复杂度降低、性能提升和成本优化的多重目标。未来团队计划进一步完善存储池化建设,提升集群应对突发流量的弹性能力,持续优化消息系统的可靠性和经济性。


小红书消息中间件架构升级实践


小红书作为领先的生活方式分享平台,其消息中间件系统承担着平台实时数据流转的重要职责。面对业务规模的快速增长,小红书对消息系统进行了全面的架构升级,从原有的 RocketMQ 架构转向以 Apache Pulsar 为核心的新一代云原生消息平台,实现了显著的性能提升和成本优化。


业务痛点与挑战


小红书原有的消息系统基于 DDMQ 架构,采用 Discovery + Proxy + RocketMQ 引擎的组合模式。该架构在业务发展过程中逐渐暴露出多个问题:客户端场景覆盖不足导致多种连接方式共存,数据平台类接入难以全面覆盖;管控平台、服务发现和 Proxy 之间的协同复杂度高,运维成本大幅提升;RocketMQ 的存储架构存在资源浪费,Slave 副本 CPU 利用率仅为 7%,远低于 Master 节点的 50%;弹性扩展能力不足,无法实现按需扩缩容和按量计费。这些问题严重制约了消息系统的效率和可扩展性。


技术选型


在 Pulsar 与 RocketMQ 5.x 的选型评估中,小红书团队从多个维度进行了深入分析。Pulsar 的存算分离架构带来显著优势:通过多盘部署实现存储成本降低 27%,磁盘带宽提升 71%;副本流量对等机制有效解决资源浪费问题,CPU 利用率提升 43%,相应降低 21.5% 的 CPU 资源成本;弹性伸缩特性可实现按需资源分配,预计节省 30% 资源用量。此外,Pulsar 的云原生架构支持平滑扩缩容,计算层 Broker 无状态设计实现流量自动均衡,存储层 BookKeeper 支持新节点自动流量覆盖。这些特性使 Pulsar 成为小红书消息中间件升级的理想选择。


业务实践与优化


在落地实践中,小红书制定了清晰的迁移策略和架构升级方案。首先推动客户端标准化,通过 EventClient 统一接入方式,实现各类语言和场景的全覆盖。迁移过程采用按业务优先级从低到高逐步推进的方式,确保平滑迁移用户无感。新架构基于 Pulsar 构建存算分离的云原生底座,提供跨云多活、实时队列、延迟队列、分层存储和弹性计费等特色功能。



在实施过程中,团队重点关注成本优化和性能提升。通过多盘部署和廉价盘组合,在保持相同 CPU、内存和存储容量的前提下,实现存储成本下降和带宽提升;利用副本流量对等特性,将 CPU 使用率从原来的 34%(主 62%、从 7%)提升到 60%;通过弹性伸缩机制,根据实际使用量动态调整资源配额,减少资源冗余。同时建立了完善的监控体系,通过全链路探针实现端到端可观测性。


目前,新架构已承载 11.8% 的流量,取得显著成效:成本降低 42%,客户端端到端延时从 20.2ms 降至 5.7ms,人工运维工作量大幅减少。长远规划包括完成 Pulsar 全量迁移、推进客户端标准化 100% 覆盖、加强稳定性建设,最终实现 RocketMQ 集群下线,全面转向 Pulsar 云原生消息平台。


vivo 海量数据场景下的消息系统架构演进


vivo 移动互联网业务为全球超过 4 亿用户提供应用商店、短视频、广告等服务,其分布式消息中间件平台承担了实时数据接入与分发的关键角色,日均处理数据量达十万亿级别。面对业务规模的持续增长,vivo 在消息系统架构演进中通过引入 Apache Pulsar,有效解决了原有 Kafka 架构在多集群管理、弹性扩缩容和海量分区场景下面临的诸多瓶颈。



业务痛点与挑战


随着 vivo 业务流量的数十倍增长,原有基于 Kafka 的消息系统逐渐显露出架构局限性。Topic 和分区数量的持续增加严重影响了集群性能,大量分区导致磁盘随机读写加剧,违背了 Kafka 依赖顺序读写实现高性能的设计初衷。集群规模扩张后,资源组隔离与集群拆分的运维成本显著上升,且 Kafka 无法实现动态扩缩容,机器资源利用率低。在面对突发流量时,扩容速度缓慢,流量均衡耗时较长,消费端性能过度依赖分区数量,造成元数据急剧膨胀。此外,集群基数增大导致硬件故障频发,且故障直接传导至客户端,缺乏有效的中间容错层。


技术选型


在综合评估集群稳定性、扩展能力和运维成本后,vivo 选择引入 Apache Pulsar 作为新一代消息中间件。Pulsar 的存算分离架构带来显著优势:无状态 Broker 支持快速扩缩容,存储层基于 BookKeeper 实现数据均匀分布和高可用保障。其独有的 Bundle 机制能够以有限的逻辑单元管理海量 Topic,有效避免元数据膨胀问题。Pulsar 支持多种消费模式(Exclusive、Failover、Shared、Key_Shared),消费能力扩展不再完全依赖分区数量,Shared 模式可实现多个消费者并行处理,Key_Shared 模式则在共享消费的同时保证消息顺序性。这些特性使 Pulsar 能够更好地应对 vivo 业务场景中的流量突发、故障恢复和弹性扩展需求。


业务实践与优化


在落地实践中,vivo 重点优化了 Pulsar 的 Bundle 管理机制,通过合理设置 Bundle 数量范围和拆分策略,确保流量在 Broker 间的均衡分布。针对数据管理,团队优化了 Ledger 翻转参数,防止单个 Ledger 过大导致的数据存储不均衡问题。建立了统一的数据保留策略,将 TTL 与 Retention 周期对齐,简化数据过期处理流程。在监控方面,vivo 构建了基于 Prometheus + Kafka + Druid 的指标采集和存储体系,开发了包括 Bundle 分布、读写延迟 P95/P99、网络负载等在内的多维监控指标。


针对实际应用中发现的负载均衡和客户端性能问题,团队进行了系列优化:调整负载均衡参数,将节点流量偏差控制在 20% 以内;通过增加分区数量改善 Bundle 分配均衡性;优化客户端发送参数配置,显著提升发送性能;实施"能者多劳"的发送策略,解决单个分区阻塞影响整体发送性能的问题。这些优化措施使得 Pulsar 集群在 vivo 环境中稳定支撑千亿级消息流量,有效应对各类异常场景,为业务提供高可靠、低延迟的消息服务。


滴滴大数据运维实践


滴滴大数据团队于 2021 年 1 月开始调研 Apache Pulsar,同年 8 月正式上线首个 Pulsar 集群,支撑数据开发平台和同步中心的数据通道同步任务。经过两年多的稳定运行,Pulsar 成功替代了原有的 DKafka(基于 Kafka 2.12-0.10.2.0)系统,有效解决了长期困扰团队的运维难题,实现了性能、成本和可靠性的全面提升。


业务痛点与挑战


滴滴大数据原有的 DKafka 系统面临多重运维挑战。首先是磁盘 IO 瓶颈问题,当 Broker 承载成百上千个 Topic 分区时,磁盘写入由顺序变为随机,导致性能急剧下降,生产消费耗时显著增加。其次是集群容量限制,尽管团队曾尝试用 SSD 替代 SATA 盘,但成本高昂且仍存在单盘热点问题,不得不降低副本数和存储周期。此外,系统还存在缓存与 IO 未隔离、单盘单机存储热点、元数据过多导致 Rebalance 压力大、负载均衡复杂以及扩缩容困难等问题。这些痛点使得运维团队需要投入大量人力进行监控和干预,严重影响了集群的稳定性和资源利用率。


技术选型理由


在全面评估后,滴滴大数据团队选择 Apache Pulsar 作为新一代消息系统。Pulsar 的存算分离架构通过 BookKeeper 实现顺序刷盘,彻底解决了随机写入导致的 IO 瓶颈问题;其多级缓存机制(包括 Broker 堆外缓存和 Bookie 读写缓存)有效实现了 IO 隔离,避免了读写相互影响;Bundle 机制将海量分区映射到有限哈希环上,大幅降低了元数据管理和 Rebalance 压力;节点对等和无状态设计使得扩缩容变得简单高效,支持高峰期和故障期间的快速扩容。这些特性使 Pulsar 成为解决滴滴大数据运维痛点的理想选择。


业务实践与优化


在落地实践中,团队重点优化了以下几个方面。硬件选型采用 SATA HDD 盘 +NVME 的异构机型,NVME 作为 journal 和 index 存储介质,在降低成本的同时延长了存储周期并增加了副本数。通过利用 Pulsar 的 Ensemble 机制,实现数据自动均衡分布,集群中所有数据盘的存储容量利用率差异控制在 10% 以内,彻底解决了存储热点问题。运维方面,借助 Bundle 机制实现一键式负载均衡,热点 Broker 上的 bundle 可快速卸载并自动分配到最优节点,大幅提升了运维效率。


在扩缩容方面,Pulsar 展现出显著优势。计算层 Broker 扩容后可通过 bundle 漂移立即分担负载;存储层 Bookie 扩容后无需数据迁移,新数据自动选择低负载节点写入,实现了新老节点的"双向奔赴"。故障恢复能力也得到极大增强,计算层无状态设计支持快速故障转移,存储层通过 readonly 模式和快速扩容确保服务连续性。这些改进使得滴滴大数据平台能够应对各种突发状况,保障数据通道的稳定运行。



目前,Pulsar 集群已在滴滴大数据平台稳定运行两年多,成功支撑了 Log->ES、BamaiLog->ES、BamaiLog->CK 和 Log->HDFS 等重要数据同步链路。相比原有的 DKafka 系统,Pulsar 在性能、成本和可靠性方面都带来了显著提升,为滴滴大数据业务的发展提供了坚实的技术保障。


运维保障


构建稳定可靠的消息系统离不开完善的运维保障体系。这一体系应当贯穿技术预研、部署上线和日常运营的全生命周期,其核心目标是确保系统高可用性,并在故障发生时能够快速应急响应。


在技术预研阶段,就需要提前考虑线上可能出现的紧急故障及应对方案。技术验证包括业务验证和压测两个关键环节。业务验证重点考察产品特性与业务模型的匹配度,包括消费模型(Shared、Key-Shared 或 Exclusive 等)和消息特性(如延迟队列、死信队列等)的适配性。从运维角度,压测更为重要,需要根据业务场景确定数据可靠性等级,这直接决定了副本数量和刷盘策略的选择。同步刷盘保证数据强一致但性能较低,异步刷盘则提供更高吞吐但可能丢失少量数据。


部署上线前必须消除单点故障,完善监控体系并建立应急机制。压测的目标是在给定硬件配置下确定集群负载的三个关键指标:理论性能上限(Max 值)、长期稳定运行的容量值(High 值)和正常扩容阈值(Normal 值)。其中 High 值是最需要关注的运维指标,它表示系统在保持相对稳定状态下的最大负载能力,超过这个值将大幅增加故障风险。基于这三个指标设置分级告警至关重要,当达到 Normal 值时需要通知扩容,达到 High 值时则需立即应急处理。


日常运营的核心是降低故障发生概率。通过混沌工程定期进行故障演练,验证监控系统的完备性和应急方案的有效性。任何一个故障演练都应在监控系统中留下痕迹,否则需要重新评估监控指标采集的完整性。应急机制应包括限流和隔离措施,限流可保证系统在极端情况下不致崩溃,隔离能将热点数据与普通数据分开处理。


运维人员应始终牢记三个关键问题:系统是否存在单点故障?监控是否完备?是否有应急预案?这"运维三板斧"是保障系统稳定性的基础。同时要严格控制变更类和突发类事件的影响,版本变更需经过灰度发布,流量突发需依靠 High 值指导和单点消除来应对。通过以上措施,可以构建一个健壮的消息系统运维保障体系,确保系统长期稳定运行。


总结与展望


本文系统性地阐述了企业级消息系统的构建全流程,从消息系统的基础概念与核心价值出发,深入分析了主流技术选型的特性与适用场景,并提供了从部署上线到日常运维的完整保障体系。随着 AI 与大数据产业的发展,消息系统已成为企业数据基础设施中不可或缺的组成部分,为业务系统提供了可靠的数据流转基础。


展望未来,随着 AI 数据基础设施的快速发展,消息系统将面临新的机遇与挑战。一方面,多智能体协同系统将成为 AI 应用的重要形态,其底层需要高性能、低延迟的消息中间件来支持海量智能体之间的通信与协作。另一方面,实时机器学习管道对数据流的时效性和一致性提出了更高要求,需要消息系统能够支撑从数据采集、预处理到模型推理的全链路实时数据流。


在这些新兴场景中,新一代云原生消息系统展现出显著优势。其存算分离架构天然适合弹性伸缩的 AI 工作负载,跨地域复制能力为分布式训练提供数据同步保障,统一的消息和流处理模型能够简化 AI 数据管道架构。同时,强一致性保证和多租户隔离特性为多团队协作的 AI 开发提供了理想基础。随着企业 AI 应用的深入,消息系统必将在构建智能数据基础设施中发挥更加关键的作用。


参考资料


(1)Apache Kafka (https://kafka.apache.org/)


(2)Apache Pulsar (https://pulsar.apache.org/)


(3)RabbitMQ: One broker to queue them all | RabbitMQ (https://www.rabbitmq.com/)


(4)RocketMQ · 官方网站 | RocketMQ (https://rocketmq.apache.org/)


(5)NATS.io – Cloud Native, Open Source, High-performance Messaging(https://nats.io/ )


(6)Apache Pulsar 在腾讯计费场景下的应用 _ 大数据 _ 刘德志 _InfoQ 精选文章(https://www.infoq.cn/article/qvxrkboa_7h0g6viptyl )


(7)Apache Pulsar 在小红书在线场景下的探索与实践


(8) 技术文档 | Apache Pulsar × AI Agent:智能系统消息基础架构初探


(9) 案例实践|构建下一代万亿级云原生消息架构:Apache Pulsar 在 vivo 的探索与实践


(10) 打造消息中台,华为终端云基于 Apache Pulsar 的演进实践


今日好文推荐


Claude 急了!模型降智,官方长文用 bug 搪塞?开发者怒怼“太晚了”:承认不达标为何不退钱?


核心 IT 外包印度惹祸,捷豹路虎全线停摆:上亿英镑蒸发,3.3万员工“被迫”休假


7 小时连续重构不掉线!一骑绝尘的Claude 终于遇到对手:Greg Brockman亲自解读AI编程重大突破


81岁老板一边狂赚1000亿成全球首富,一边公司大裁员!老员工自嘲:“我们被 GPU 替代了”


2025-09-29 10:002

评论

发布
暂无评论

通过HTTP/2通道实时获取IoT设备状态和数据——设备管理运维类

阿里云AIoT

Java 物联网

好用的油猴Safari浏览器插件:Tampermonkey 中文版

真大的脸盆

Mac 油猴 油猴插件 脚本管理 脚本插件

基于Pub/Sub模式的阿里云IoT同步调用详解——设备管理运维类

阿里云AIoT

物联网 API

华为云GaussDB以技术创新引领金融行业分布式转型

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 3 月 PK 榜

10Wqps 超高并发 API网关 架构演进之路

Java你猿哥

Java 架构 微服务 SSM框架 api 网关

国内首发|焱融科技 YRCloudFile 支持 NVIDIA GPUDirect Storage(GDS)

焱融科技

人工智能 分布式存储 分布式文件存储 全闪存储 GPT-4

太强了!阿里架构师把自己会的都总结到了这份1737页实战开发手册中

Java

用图技术搞定附近好友、时空交集等 7 个典型社交网络应用

NebulaGraph

推荐算法 图数据库 社交网络

高效稳定的通用增量 Checkpoint 详解之二:性能分析评估

Apache Flink

大数据 flink 实时计算

真香!腾讯T4梳理的Java核心宝典(框架+原理+笔记+导图)

Java 程序员

flomo 浮墨笔记向飞书收购 “幕布”,不卖永久会员、不融资的“反骨”逻辑

B Impact

数据库开发工具界的ChatGPT来了

NineData

数据库 sql AI ChatGPT NineData

扩散模型的通用指导手册

Zilliz

超越想象,博睿数据3D数字展厅上线

博睿数据

可观测性 智能运维 博睿数据 3D展厅

行云管家堡垒机六大功能详细介绍看这里!

行云管家

互联网 网络安全 堡垒机

难以置信!四面斩获字节offer,全靠这份“算法最优解”宝典

Java 数据结构 面试 算法 LeetCode

Star History 月度开源精选|2023 年 2 月

Bytebase

GitHub 开源项目 OpenKruise

【低代码实践】京东科技活动平台:魔笛介绍

京东科技开发者

低代码 企业号 3 月 PK 榜 活动平台

Selenium自动化测试

测吧(北京)科技有限公司

测试

阿里云IoT物模型-属性,服务,事件通信的topic和payload详解——设备管理运维类

阿里云AIoT

物联网

影响LED显示屏清晰度的三大要素

Dylan

广告 LED显示屏 体育

经过阿里四面而形成的10万字java面试题及答案文档到底有多牛?

Java你猿哥

Java 阿里巴巴 后端 面经 八股文

NutUI-React 京东移动端组件库 2月份上新!欢迎使用!

京东科技开发者

前端 React 组件库 开源组件 企业号 3 月 PK 榜

面试官:还有比Redis更骚的分布式锁的实现方式吗?

Java Spring Boot 分布式锁 etcd

依靠这份PDF面试资料文档,各种美团,阿里等大厂offer拿到手软

Java你猿哥

Java 后端 ssm 面经 八股文

第三方私有云管理平台选择哪家好?理由有哪些?

行云管家

云计算 私有云 云管平台 云管理

从 3 个层级出发,做好 DevSecOps“安全左移”经济账

极狐GitLab

DevOps DevSecOps 代码安全 极狐GitLab 安全左移

浅析synchronized底层实现与锁升级过程

Java JVM synchronized

阿里云助力元戎启行 加速自动驾驶应用落地

云布道师

自动驾驶 阿里云 弹性计算

系统架构设计:进程缓存和缓存服务,如何抉择?

Java 架构设计 缓存服务 进程缓存

项目经理问我Tomcat 与 Undertow 怎么抉择?此文教她选

Java你猿哥

Java jdk Spring Boot ssm

企业级消息系统构建指南_实时计算_奇秋月_InfoQ精选文章