在落地 Pulsar 的过程中,开发者最容易踩的坑集中在两个问题上:问题一:"我有多个消费者,消息是怎么分发的?顺序能保证吗?"问题二:"消费者处理业务逻辑很慢,会不会把整个消费流程阻塞住?"这两个问题的答案,分别对应 Pulsar 的订阅模式(Subscription Type) 和消费模型(Consumption Pattern)。本文基于 Go 语言,通过完整可运行的代码,逐一拆解四种...
写给自己的 Consul 入门笔记。搞清楚"它是什么、解决什么问题、怎么工作的"。一、背景:没有 Consul 之前假设你有三个服务:订单服务、用户服务、支付服务。问题 1:配置怎么管?# 每个服务各自写死配置
DB_URL=postgres://localhost:5432/order
REDIS_ADDR=localhost:6379
PAY_SECRET=abc123改一个配置 → 要...
场景:撮合引擎多 Pod 部署,每个 Pod 维护本地 L1 内存深度数据,如何通过 Redis L2 实现跨 Pod 无损同步?一、背景与问题定义撮合引擎(Matching Engine)是交易系统的核心,订单簿(Order Book)的买卖深度数据有以下特点:写频率极高:每秒数千次挂单、撤单、成交读频率更高:行情推送、风控查询、前端展示强一致性要求:深度数据不能乱序、不能丢失延迟敏感:毫...
写在前面:我是个后端开发,用过 Redis 的 Pub/Sub,听说过 Kafka,但从来没有认真用过消息队列。这篇文章记录我第一次接触 Apache Pulsar 的全过程,踩了哪些坑,怎么理解那些概念,希望对同样是新手的你有用。为什么会接触 Pulsar?项目里有个需求:多个服务之间要传消息,而且要可靠——发出去的消息不能丢,消费失败了要能重试,还要支持多个服务同时消费同一条消息。Red...
今天是我写代码的第十年。没有蛋糕,没有仪式,工位上还堆着今天要 review 的 PR 和明天上线的需求清单。但我想停下来 30 分钟,写一点东西给自己,也给那些和我一样还在键盘前的人。这不是一篇炫技的文章,也不是一篇贩卖焦虑的鸡汤。我只是想老老实实地讲一讲这十年——那些一行一行写出来的、半夜爬起来回滚过的、被骂过又被感谢过的代码,到底教会了我什么。第一阶段:相信代码可以解决一切(第 1-3...