gpt4 book ai didi

architecture - 基于请求与基于事件的架构

转载 作者:行者123 更新时间:2023-12-04 12:06:19 24 4
gpt4 key购买 nike

第一季度

我知道基于事件与基于请求/驱动架构之间的根本区别。问题是基于请求的总是同步完成而基于事件的总是异步完成的吗?

Q2

此外,在 API 世界(请求-响应)中,如果请求消息无效,您通常会返回 400 http 代码。幸运的是,在 API 世界中,我们可以执行契约测试,使集成更加健壮。

除了将消息放入错误队列之外,在消息队列中处理此类似问题的最佳方法是什么?
发布者服务或消费者服务是否有责任首先获得问题通知?

最佳答案

第一季度

这就是根本的区别。事件发布者不关心谁消费它。在请求/响应中,服务被捆绑在一起。

Q2

在事件驱动系统中,发布者有责任包含其他服务可以使用的所有内容。如果事件不包含它需要的所有内容,那么您首先无法发布事件,因此您需要确保是这种情况。这是事件驱动的重点,因为消费者希望选择包含其需要的所有数据的消息。

如果您仍然能够发布格式不正确的事件,那么您将拒绝该事件并绝对记录它。如果该拒绝事件是事务的一部分并链接到另一个事件的发布,那么您将引发失败的处理事件(Saga 模式)。

最佳实践是使用所有必要的有效负载引发事件。如果事件格式不正确,那么这是一个糟糕的设计,最终会变得难以大规模处理。

关于architecture - 基于请求与基于事件的架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54875234/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com