微服务和顺序处理收到的消息

我有一个具有N个实例的微服务系统,我的业务基于OrderId的唯一值。对于每个OrderId,我得到4条消息,第一条消息要花很长时间进行处理,在处理第一条消息的过程中,我得到第二条消息和其他消息。我想强制系统按顺序处理它们。您对这种情况有什么想法?

在这种情况下,我的想法包含共享内存技术(缓存服务器)和hangfire(使用BackgroundJob.ContinueWith),但是我正在寻找最佳实践。

xuanxixuan 回答:微服务和顺序处理收到的消息

在诸如Kafka之类的标准消息传递解决方案中,可以将orderId用作分区键。这将确保所有具有相同orderId的消息将始终按照它们产生的顺序最终位于同一分区中。不同的订单将进入不同的分区。

本文链接:https://www.f2er.com/3109488.html

大家都在问