- 博客(989)
- 收藏
- 关注
原创 Pulsar Ledger 滚动与 GC 机制深度解析
摘要: Apache Pulsar的存储层BookKeeper通过Ledger滚动(Rolling)和垃圾回收(GC)机制保障存储效率与稳定性。Ledger滚动在大小(默认512MB)或时间(如6小时)阈值触发,关闭旧Ledger并创建新Ledger,避免单个文件过大,提升负载均衡与GC效率。GC机制通过Minor/Major Compaction回收已删除Ledger的空间,解决逻辑碎片问题,需配置合理的压缩阈值与间隔(如每日一次Major Compaction)。优化建议包括合理设置Ledger大小、启
2025-08-07 00:18:42
479
原创 Pulsar 配置文件详解:broker.conf、bookkeeper.conf、zookeeper.conf
摘要: Apache Pulsar的核心组件(Broker、BookKeeper、ZooKeeper)通过配置文件(broker.conf、bookkeeper.conf、zookeeper.conf)实现关键参数调优。Broker配置服务端口、Topic策略与安全认证;BookKeeper优化存储路径、Journal性能和副本策略;ZooKeeper管理元数据存储与集群协调。三者的协调直接影响Pulsar的稳定性、性能和数据持久性,建议生产环境分离存储路径(如Journal用SSD)、启用自动清理并合理设
2025-08-07 00:18:27
488
原创 Pulsar `pulsar-admin` 详解:熟练管理集群、Broker、租户、命名空间、Topic、订阅、Schema、函数等
项目说明本质Pulsar Admin REST API 的 CLI 封装协议HTTP/HTTPS(连接 Broker 的 8080 端口)功能全面管理 Pulsar 元数据与运行时状态部署位置通常在任意可访问 Pulsar 集群的机器上运行权限支持 JWT、TLS 认证,基于 RBAC 控制权限工具作用类比全量管理工具:集群、租户、Topic、订阅、Schema、函数等≈ Kubernetes 的kubectl📌一句话总结是 Pulsar 的“控制台”
2025-08-07 00:18:07
640
原创 Pulsar 深入理解 BookKeeper:Ledger 碎片整理(AutoRecovery, Auditor)详解
Apache BookKeeper 碎片整理机制解析 本文深入分析了 Apache Pulsar 底层存储系统 BookKeeper 中的 Ledger 碎片问题及其解决方案。主要内容包括: 碎片来源:Ledger 删除不及时、Entry Log 混合存储等因素导致逻辑存储碎片 核心组件: Auditor服务:定期检查 Ledger 副本完整性 AutoRecovery服务:自动修复缺失副本 间接碎片整理机制: Entry Log 垃圾回收 Ledger 冷数据归档 Journal 和 Entry Log
2025-08-07 00:16:53
829
原创 Pulsar 深入理解 BookKeeper:Bookie 故障恢复机制详解
摘要: Apache BookKeeper通过三重机制保障Pulsar数据可靠性:1)Write Recovery处理写入中断,通过多数派确认和截断确保一致性;2)Autorecovery自动修复永久故障,异步补充缺失副本;3)Ledger Recovery修复未关闭账本。结合机架感知、Read Quorum校验和SSD存储等最佳实践,实现故障自动检测与恢复,确保消息不丢失。核心思想是通过多副本协商和异步修复机制,在Bookie故障时维持数据完整性与高可用性。
2025-08-07 00:16:38
461
原创 Pulsar 深入理解 BookKeeper:Ensemble、WQ、AQ、RQ 详解
Apache BookKeeper 作为 Pulsar 的存储层,通过 Ensemble、Write Quorum (WQ)、Ack Quorum (AQ) 和 Read Quorum (RQ) 四个关键参数控制数据持久性、一致性和性能。Ensemble 决定参与存储的 Bookie 数量,WQ 确保写入副本数,AQ 影响响应速度,RQ 保障读取一致性。推荐生产环境采用 E=3/WQ=3/AQ=2/RQ=2 的平衡配置,并启用机架感知防止单点故障。参数设置需遵循 AQ>WQ/2 的核心规则以避免脑裂,
2025-08-06 00:32:04
583
原创 Pulsar 深入理解 BookKeeper:Ledger 生命周期详解
摘要: Apache BookKeeper 是 Pulsar 的核心存储引擎,其核心单元 Ledger(账本) 作为只追加的日志结构,经历 创建→写入→关闭→删除 四阶段生命周期。创建时分配唯一 ID 并选定 Bookie 副本组;写入时通过多副本机制保障高可用;关闭由大小/时间阈值触发以优化存储;删除则基于消息消费状态和保留策略。Ledger 的滚动机制支撑 Pulsar 的高吞吐与扩展性,其元数据存于 ZooKeeper,数据存于 Bookie 节点。运维中需平衡 Ledger 大小(推荐 512MB~
2025-08-06 00:31:37
762
原创 Pulsar 事务消息(Transactional Messaging)详解
Pulsar事务消息(Transactional Messaging)是Pulsar提供的高级功能,支持跨Topic、分区和操作的原子性处理,实现端到端的Exactly-Once语义。核心能力包括跨Topic事务、消费-生产原子性和事务持久化。事务API通过Transaction对象管理消息发送和确认,确保关键业务场景(如订单处理、库存扣减)的数据一致性。使用时需注意性能开销、超时设置和资源消耗等限制,建议结合Schema和幂等消费者设计实现最佳实践。事务状态由Broker持久化管理,支持故障恢复,为金融等
2025-08-06 00:31:17
918
原创 Pulsar 延迟消息(deliverAt / deliverAfter)详解
Pulsar延迟消息功能允许在指定时间点投递消息,支持deliverAt(绝对时间)和deliverAfter(相对时间)两种方式。该功能基于Broker内置延迟队列实现,具有毫秒级精度、持久化存储和透明消费等特点。适用于订单超时、定时提醒、重试机制等场景,相比外部调度系统更简单高效。最佳实践包括优先使用deliverAfter、控制延迟时长、确保幂等性设计等。Pulsar延迟消息是原生支持的可靠定时投递方案,无需额外依赖即可实现精准消息调度。
2025-08-06 00:29:56
578
原创 Pulsar Schema 应用与管理详解
Pulsar Schema 应用与管理指南 Pulsar Schema 通过强类型机制确保消息系统的数据一致性和安全性,支持多种数据格式(JSON/AVRO/Protobuf)。核心实践包括: 强Schema应用:生产/消费端直接使用结构化对象,自动序列化 兼容性策略:推荐BACKWARD模式,允许增量变更不影响旧消费者 管理工具:通过pulsar-admin实现Schema注册/查询/版本管理 最佳实践:预注册Schema、设置默认值、版本控制、多环境隔离 关键价值: 类型安全保障 跨语言数据一致性 平滑
2025-08-06 00:29:41
624
原创 Pulsar Key_Shared 订阅与消息顺序性详解
摘要: Apache Pulsar 通过 Key_Shared 订阅模式 实现高并发与消息顺序性的平衡。该模式基于 消息 Key 哈希路由,确保相同 Key 的消息由同一消费者顺序处理,不同 Key 的消息并行消费。生产者需显式设置 Key(如 user-id),消费者配置 sticky_hash 策略以减少重分配。相比其他订阅模式,Key_Shared 在 用户行为追踪、订单状态更新等场景 中表现优异,但需注意热点 Key 问题和消费者动态增减可能引发的短暂乱序。最佳实践包括固定消费者数量、监控 Key
2025-08-06 00:29:28
504
原创 Pulsar 消息确认与重试详解
Pulsar消息确认与重试机制详解 Apache Pulsar通过多种机制保障消息可靠性处理: 确认机制:支持单条(acknowledge)和累积确认(acknowledgeCumulatively),后者仅适用于Exclusive/Failover模式 否定确认:通过nack实现立即重试,可配置重试延迟 超时机制:ackTimeout作为兜底方案,自动重发未确认消息 自动重试:基于retryLetterTopic实现延迟重试,支持Shared/Key_Shared模式 死信队列:重试失败后转入DLQ,便于
2025-08-06 00:29:15
526
原创 pulsar-admin 与 pulsar-client 详解
摘要:Apache Pulsar 提供了两个核心命令行工具:pulsar-admin 用于集群管理(租户、命名空间、Topic、订阅等),支持元数据配置、策略设置和监控;pulsar-client 用于快速测试消息收发,支持带属性/Key的消息生产和多种消费模式。两者分别通过 REST API 和 Pulsar 协议连接集群,是开发调试和运维管理的必备工具,涵盖了从资源管理到消息流验证的全流程操作。
2025-08-06 00:28:06
476
原创 Pulsar Manager / Dashboard 详解
Pulsar Manager 和 Pulsar Dashboard 是 Apache Pulsar 生态中的两大可视化工具,用于集群管理与监控。 Pulsar Manager(推荐生产使用): 提供完整的租户/命名空间管理、Topic/订阅操作、消息查看、多集群支持和 JWT 认证,适合复杂运维场景。 Pulsar Dashboard(轻量级): 基础监控功能,支持查看 Broker/Topic 状态和消费进度,适合开发测试环境。 最佳实践:生产环境使用 Pulsar Manager + Grafana 集
2025-08-06 00:27:47
645
原创 Apache Pulsar Schema 详解
Apache Pulsar Schema 详解:Pulsar Schema 是消息数据的结构化契约,支持多种格式(JSON/Avro/Protobuf等),实现类型安全与兼容性管理。核心功能包括自动序列化、跨语言支持、Schema版本控制,并内置注册中心。提供多种兼容策略(BACKWARD/FORWARD等),支持Schema演进。通过Schema API可直接发送/接收POJO对象,无需手动编解码。还支持Key-Value Schema等高级特性,确保数据完整性并简化开发流程。
2025-08-06 00:27:34
665
原创 Pulsar Reader 详解
Apache Pulsar Reader 摘要 Pulsar Reader 是一种无订阅的消息读取机制,可直接从 Topic 任意位置(如最早/最新消息、指定 MessageId 或时间戳)读取数据。与 Consumer 不同,Reader 不维护游标、不支持 ACK,且完全独立于订阅系统,适用于消息回放、审计、数据迁移等临时性任务。核心优势包括:自由选择起始位置、不干扰现有消费者、支持 Schema 反序列化。典型场景包括调试历史消息、数据备份和离线分析,但需注意其不支持消息确认和长期消费的限制。最佳实践
2025-08-06 00:27:21
422
原创 Pulsar Consumer 详解
摘要:Apache Pulsar Consumer详解 Apache Pulsar Consumer是消息系统的核心组件,负责从Topic接收和处理消息。它具有以下关键特性: 灵活订阅模式:支持独占(Exclusive)、共享(Shared)、故障转移(Failover)和键共享(Key_Shared)四种订阅方式 高效消息处理:提供同步Receive和异步Listener两种消息接收模式 可靠确认机制:包含正确认(Ack)、负确认(Nack)和超时重发三种消息确认方式 高级功能:支持消息重试、死信队列(D
2025-08-06 00:27:07
775
原创 Pulsar Producer 详解
Apache Pulsar Producer 是向 Topic 发送消息的客户端组件,支持同步/异步发送、批量发送、消息路由等功能。Producer 创建需指定 Schema,可配置发送超时、压缩、分区路由策略等参数。高级特性包括消息去重、Schema 验证、延迟消息和事件时间。Producer 自动重连,需合理管理生命周期,避免频繁创建销毁。
2025-08-06 00:26:49
519
原创 Pulsar Subscription 模式详解
Pulsar Subscription 模式详解 Pulsar 提供四种订阅模式满足不同消息分发需求: 1️⃣ 独占模式(Exclusive):单消费者,严格顺序 2️⃣ 共享模式(Shared):多消费者轮询分发,队列语义 3️⃣ 主备模式(Failover):主备自动切换,保证顺序 4️⃣ Key共享模式(Key_Shared):按消息Key分配,Key级顺序 核心特性对比: 顺序性:Exclusive/Failover(全局) > Key_Shared(Key级) > Shared(无序)
2025-08-06 00:26:37
520
原创 Pulsar Topic 详解
Apache Pulsar Topic 详解 Topic 是 Pulsar 消息传输的核心逻辑单元,支持持久化(persistent)和非持久化(non-persistent)两种类型,通过命名空间组织(tenant/namespace/topic)。关键特性包括: 分区 Topic:提升吞吐与并行能力,支持轮询/哈希等路由策略 灵活订阅:支持多订阅模式(Exclusive/Shared/Failover) 高级功能:延迟消息、消息去重、死信队列(DLT)和可配置的消息保留策略 生命周期管理:支持自动/手动
2025-08-06 00:26:20
447
原创 Apache Pulsar Tenant(租户) 和 Namespace(命名空间)详解
Apache Pulsar通过Tenant(租户)和Namespace(命名空间)实现多租户隔离与资源管理。Tenant是最高级别的隔离单元,代表组织或客户,支持跨集群复制;Namespace是租户下的逻辑分组,用于组织Topic并管理资源配额和策略。核心层级结构为Tenant > Namespace > Topic,支持细粒度的权限控制、速率限制和存储配额。Pulsar通过RBAC机制实现安全隔离,支持多种认证方式。典型应用场景包括SaaS平台、企业内部多部门隔离及开发测试环境管理。最佳实践建
2025-08-05 00:17:42
572
1
原创 Pulsar 核心架构 详解
Apache Pulsar是一个开源的分布式消息与流处理平台,采用分层架构设计,将服务层(Broker)与存储层(BookKeeper)解耦,实现高性能和高可扩展性。其核心组件包括Broker(无状态消息处理)、BookKeeper(持久化存储)、ZooKeeper(元数据管理)和Pulsar Client(生产/消费)。Pulsar支持多租户隔离、多种订阅模式(Exclusive/Shared/Key_Shared)和持久化游标,具备高可用性(副本机制)和跨地域复制能力。相比Kafka,Pulsar的计算
2025-08-05 00:17:27
866
原创 Pulsar基础架构图 && 高拓展架构图
Apache Pulsar采用分层架构设计,包含客户端层(Producer/Consumer)、可选的代理层(Pulsar Proxy)、无状态Broker层、BookKeeper存储层和ZooKeeper元数据层。Broker负责消息路由,BookKeeper提供持久化存储,ZooKeeper管理集群元数据。系统支持高可用和跨地域复制,通过Geo-Replication实现多数据中心间的消息同步,确保数据容灾能力。东、西两个集群可互为备份,当主集群故障时可自动切换,保证服务连续性。这种架构设计实现了计算与
2025-08-05 00:17:14
552
原创 RabbitMQ 故障排除详解:从日志分析到工具排查
RabbitMQ故障排除指南:从日志分析到工具排查 本文详细介绍了RabbitMQ常见故障的排查方法,包括连接断开、流控阻塞、消息积压、内存过高、磁盘不足和集群问题。重点讲解了故障排查的核心原则:先查日志,再看指标,最后用工具验证。文章提供了详细的排查步骤表、日志示例和解决方案,并介绍了关键诊断工具如rabbitmq-diagnostics、rabbitmqctl和Web管理界面的使用方法。通过日志分析技巧和监控指标设置,帮助运维人员快速定位和解决RabbitMQ生产环境中的各类问题。
2025-08-05 00:16:01
906
原创 RabbitMQ 安全性详解:构建企业级安全的消息系统
RabbitMQ企业级安全架构详解 摘要:RabbitMQ作为核心消息中间件,其安全性至关重要。本文深入解析四大安全机制:1)TLS/SSL加密通信,详细说明证书配置与客户端实现;2)LDAP/OAuth 2.0认证集成,实现统一身份管理;3)基于用户+vhost+正则的细粒度权限控制,遵循最小权限原则;4)网络隔离策略,包括关键端口说明与防火墙规则建议。通过多层次安全防护,可有效防止数据泄露、未授权访问等风险,满足GDPR等合规要求。
2025-08-05 00:15:43
913
原创 RabbitMQ 持久化与数据安全详解:存储机制、元数据与备份恢复
RabbitMQ 持久化机制通过消息存储文件(.rdq)和队列索引(.idx)确保数据安全,元数据存储在 Mnesia 数据库中。实现消息持久化需满足 Exchange、Queue 和 Message 三要素的持久化设置。备份策略包括配置导出、文件系统备份、Federation/Shovel 插件和 Quorum Queue 自动复制。最佳实践建议开启三要素持久化、使用 Quorum Queue、定期备份配置和监控系统状态。RabbitMQ 采用分层存储和异步GC机制,通过合理配置可构建高可用的消息系统。
2025-08-05 00:15:15
808
原创 RabbitMQ 理解集群模式:节点组成集群与元数据共享详解
RabbitMQ集群详解:架构与高可用实践 RabbitMQ集群通过多节点协作实现高可用、可扩展的消息服务。核心特性包括: 元数据共享:用户、虚拟主机、队列定义等配置自动同步 节点角色:磁盘节点(持久化元数据)和内存节点(高性能) 数据分布:消息默认不复制,需配合Quorum队列或镜像队列实现高可用 部署建议:至少2个磁盘节点,奇数节点数量,推荐Quorum队列模式 最佳实践包括使用负载均衡、监控节点状态、避免跨机房部署等,确保构建稳定可靠的消息系统。
2025-08-05 00:14:54
856
原创 RabbitMQ 性能调优详解:从客户端到 Broker 的全方位优化
RabbitMQ 性能调优指南 本文详细介绍了 RabbitMQ 性能调优的各个方面: 瓶颈分析:网络延迟、CPU/内存/磁盘负载过高可能导致性能问题 客户端优化:包括连接复用、批量确认、合理设置QoS和使用连接池 Broker配置:调整Erlang调度器、内存水位、文件句柄限制,并使用SSD 队列类型选择:对比Classic、Quorum和Stream队列的特性及适用场景 负载测试:使用perf-test工具进行压测,评估不同配置下的性能表现 通过多层次的优化措施,可显著提升RabbitMQ在高并发环境下
2025-08-05 00:14:13
809
原创 RabbitMQ Federation 与 Shovel 详解:跨集群消息复制与集成
RabbitMQ提供了Federation和Shovel两种跨集群消息传输方案。Federation适合长期稳定的跨数据中心同步,支持Exchange到Exchange或Queue到Queue的联邦模式,通过上游连接实现异步消息转发。Shovel则更灵活,支持消息转换、过滤和复杂路由,适合数据迁移和异构系统集成。两者都基于ACK机制保证消息可靠性,但Federation性能更高,Shovel功能更丰富。最佳实践中建议Federation用于跨地域同步,Shovel用于数据迁移,同时注意启用TLS加密和监控机
2025-08-05 00:13:59
762
原创 RabbitMQ 插件体系详解:扩展功能的核心机制
RabbitMQ插件体系详解:核心扩展机制 RabbitMQ通过灵活的插件体系实现功能扩展,支持协议扩展、跨集群通信、监控和外部集成等场景。文章系统介绍了插件分类(协议、集成、监控、管理等)、常用官方插件(管理控制台、Prometheus监控、联邦/铲子插件、MQTT支持等)及社区插件,提供了安装配置指南和最佳实践建议。关键插件包括延迟消息、一致性哈希交换机等特殊场景解决方案,并强调了生产环境应启用的核心插件和管理注意事项。通过动态加载机制,RabbitMQ插件可在不重启服务的情况下扩展功能,大幅提升消息系
2025-08-05 00:13:39
1053
原创 RabbitMQ 高可用 (HA) 队列详解:构建不宕机的消息系统
RabbitMQ高可用队列详解:生产环境关键配置指南 摘要: RabbitMQ提供三种高可用队列方案:镜像队列(逐步淘汰)、仲裁队列(基于Raft协议推荐使用)和流式队列(大流量场景)。仲裁队列作为核心推荐方案,具有强一致性、自动故障转移等特性,适合订单支付等关键业务。生产环境中建议采用3-5节点集群配置,配合持久化设置和负载均衡,确保99.99%以上的可用性。本文详细对比了各方案的原理、配置方法及适用场景,并给出故障转移测试、监控告警等最佳实践,帮助构建稳定可靠的消息系统。(150字)
2025-08-05 00:13:20
720
原创 RabbitMQ 内存与磁盘告警详解:防止资源耗尽导致服务中断
RabbitMQ 内存与磁盘告警机制解析 RabbitMQ 通过内存和磁盘水位机制防止资源耗尽导致服务中断。内存水位默认 40% 或 256MB,磁盘水位默认剩余 50MB,触发时 Broker 会进入流控模式,阻塞生产者但允许消费者继续处理消息。建议生产环境配置内存水位 ≤70%,磁盘水位 ≥1GB。关键预防措施包括:启用消息持久化、使用 Lazy Queue、设置消息 TTL、限制队列长度以及配置监控告警。处理已发生的溢出时,应优先检查消费者状态,避免直接重启。最佳实践是结合合理的资源配置、监控系统和消
2025-08-05 00:12:49
997
原创 RabbitMQ 监控详解:全面构建高可用消息系统的可观测性体系
RabbitMQ 监控体系构建指南 本文全面解析RabbitMQ监控的三大核心维度: 管理控制台(Web UI):提供实时节点状态、队列消息数、连接数等关键指标,适合日常巡检但缺乏历史数据。 Prometheus+Grafana专业方案: 启用rabbitmq_prometheus插件暴露指标 配置Prometheus采集数据 通过Grafana可视化看板实现长期趋势分析 设置分级告警规则(内存、磁盘、消息堆积等) 日志分析:记录节点启动、连接异常等关键事件,存储在/var/log/rabbitmq/目录下
2025-08-05 00:12:33
677
原创 RabbitMQ 策略 (Policies) 详解:动态配置队列与交换机行为
RabbitMQ策略(Policies)详解 RabbitMQ策略是一种动态配置机制,允许管理员通过正则表达式匹配队列或交换机名称,批量应用预定义配置。策略包含名称、匹配模式、配置定义和应用对象四个核心要素,支持镜像队列、TTL设置、Lazy Queue等多种功能场景。 策略可通过命令行、Web界面或API进行配置,支持优先级设置来处理规则冲突。典型应用包括统一镜像队列配置、批量设置Lazy Queue、默认TTL等。策略具有动态生效特性,对新创建资源自动应用,但对已存在资源需手动触发更新。 最佳实践建议为
2025-08-05 00:12:18
769
原创 Spring-AMQP 详解:基于 Spring 的 RabbitMQ 集成框架
Spring-AMQP 核心摘要 Spring-AMQP 是 Spring 生态中集成 RabbitMQ 的核心框架,提供企业级消息中间件解决方案。主要特性包括: 简化开发:封装 Connection/Channel 管理,提供声明式资源配置(Queue/Exchange/Binding) 核心组件: RabbitTemplate 用于消息发送 @RabbitListener 实现声明式消费 消息监听容器管理并发与重试 高级功能: 支持 JSON 序列化(Jackson2JsonMessageConvert
2025-08-05 00:11:55
531
原创 RabbitMQ 用户与权限管理详解:安全访问控制的核心机制
RabbitMQ 的用户与权限管理是保障系统安全的核心机制,通过多层次的访问控制实现安全认证与操作授权。该系统由用户(身份认证)、标签(全局角色)、虚拟主机(逻辑隔离)和权限(细粒度控制)四部分组成。管理员可以通过命令行、Web UI 或 HTTP API 管理用户,设置权限表达式来精确控制资源访问(configure/write/read)。最佳实践包括禁用guest账户、遵循最小权限原则、为监控创建只读用户等。RabbitMQ还支持LDAP集成、TLS加密等高级安全功能,适用于多环境隔离、微服务和Saa
2025-08-04 00:45:37
640
2
原创 RabbitMQ rabbitmqctl 与 rabbitmqadmin 详解:命令行管理工具全面指南
RabbitMQ 命令行工具指南摘要 RabbitMQ 提供两个核心命令行工具:rabbitmqctl 和 rabbitmqadmin。rabbitmqctl 用于本地节点管理,通过 Erlang 协议执行节点控制、集群操作和服务管理,需在 RabbitMQ 服务器上运行。rabbitmqadmin 则基于 HTTP API,支持远程管理队列、交换机等资源,适合自动化脚本和 CI/CD 集成。两者功能互补:rabbitmqctl 侧重节点级运维,rabbitmqadmin 专注资源管理。最佳实践包括使用 r
2025-08-04 00:45:24
526
原创 RabbitMQ 管理控制台(Web UI)详解:全面监控与管理指南
摘要:RabbitMQ 管理控制台(Web UI)是一个功能强大的可视化工具,用于监控和管理 RabbitMQ 实例。它支持队列、交换机、连接、用户等核心组件的操作,提供实时指标(如消息堆积、消费速率)和诊断功能(如强制关闭连接、查看消息体)。最佳实践包括禁用默认用户、按需分配权限、定期备份配置。通过 Overview、Queues、Admin 等模块,管理员可快速定位问题(如消费者卡顿、路由异常)并执行关键操作(清空队列、测试消息)。该控制台是 RabbitMQ 运维的核心工具,建议结合 CLI 和 AP
2025-08-04 00:45:11
573
原创 RabbitMQ RPC 模式详解:基于消息的远程过程调用
RabbitMQ RPC 模式:基于消息队列的同步远程调用 RabbitMQ 通过消息队列机制实现 RPC 模式,核心原理是: 客户端创建临时回调队列,通过 reply_to 和 correlation_id 标识请求 服务端处理请求后将响应发送到指定队列 客户端通过唯一 ID 匹配响应 关键实现要点: 使用 MessageProperties 设置回复队列和关联ID 服务端需正确处理消息属性并返回响应 客户端采用阻塞方式等待响应(可设置超时) 优势:基于消息队列实现松耦合,适合异构系统集成。但相比传统RP
2025-08-04 00:44:51
725
原创 RabbitMQ 优先级队列详解:实现消息分级处理
本文详细介绍了RabbitMQ优先级队列的实现与应用。主要内容包括:优先级队列的工作原理(通过多子队列实现消息分级)、配置方式(需设置x-max-priority参数和消息优先级)、Spring Boot完整示例代码,以及适用场景(如VIP服务、告警系统等)。文章还指出了优先级队列的局限性(最大优先级10、不支持Quorum队列等)并给出最佳实践建议,帮助开发者在业务中合理使用该功能实现消息分级处理。优先级队列能有效确保关键消息优先处理,提升系统响应能力。
2025-08-04 00:44:38
935
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人