【发布时间】:2020-07-29 20:38:46
【问题描述】:
我用过卡夫卡。在 Kafka 中,事件的顺序是通过使用 id 来保证的。我们在 Redis 中有类似的东西吗?如果我在一个消费者组中有订单事件流和多个消费者,则与一个特定订单相关的所有事件都应该按顺序处理。
事件 - 一条消息 / 通知 / 发生的任何需要宣布的事情。像订单创建事件,订单取消事件。
为了更清楚,
假设 user1 通过 order-service 订购了名为 ABC1 的产品。这个订单服务发布了一个purchase-order-related stram。 user1 修改/更新订单服务在同一流中发布另一个事件作为第二条消息的 ABC1 的数量。这里消息的 ID 可能不同。
但是,当有多个消费者时,是否可以保证这 2 条消息将由消费者组中的 1 个消费者处理?因为这两个消息/事件是相关的,应该按顺序处理。 Kafka通过使用ABC1产品购买的order-id进行分区来提供保证。
【问题讨论】:
-
“事件的顺序”到底是什么意思?什么是事件?而在“与一个特定订单相关的所有事件都应按顺序处理”中,“一个特定订单”是什么意思?
标签: redis redis-streams