用 Go 构建会话有序的 Kafka 管道
有人写了一篇文章,介绍如何在 Apache Kafka 之上自己动手做一套“会话级有序”的消息管道。Kafka 本身只保证同一分区内的顺序,但很多场景需要把几千个独立渠道各自的消息严格按顺序处理,这个需求它默认做不到。文章的做法是在应用层做路由,用一致性哈希把同一会话的消息分到同一处理路径,再加上重试和“连续水位提交”来保证顺序。对做消息队列的工程师来说,这提供了一个在 Kafka 上实现跨分区严格顺序的参考方案。
文中可用工具
- Apache Kafka分布式消息队列,用来传递消息
- Go编程语言,用来实现这套管道
评论 · 分享第一个看法