我们采用了一种由AWS提供支持的微服务架构,其中不同种类的有效负载通过数据库中的 mysql.lambda_async 以UUID和 type 进入系统。
问题是,我们注意到消息可能会乱序。想象一下带有以下消息类型的场景:
当实际意图是快速切换时:
现在我们有一个具有错误(提升)权限的用户。
我已经进行了一些粗略的研究,例如Handling out of order events in CQRS read side之类的答案建议使用序列号。
引入序列号将非常困难,因为我们有许多不同类型的消息。序列号将需要一个同步计数器,在此我们要竭尽全力做到简单异步。请记住,我们生成消息的系统最终是一个SQL触发器。
我缺少更简单的解决方案吗?
答案 0 :(得分:0)
我会说有一个无法解决的问题:
我们遇到了与您同样的问题,最后我们根据消息类型设置了序列。
尝试尽可能异步和并行(根据消息类型/主题)