我试图了解事件驱动架构是如何比传统架构更高效的。当然,它是松散耦合的。
让我们想象一下。我们有两个弹簧启动微服务。
微服务-A引发事件,微服务B监听事件并执行一些操作.使用EDA方法,微服务-B逐个处理所有这些事件.为了扩大规模,我必须运行多个微服务-B实例。但是,如果我使用传统方法,多个HTTP请求将由一个服务器并行处理。因此,使用EDA方法,单线程和顺序处理不是一种好的资源利用方式,对吗?
发布于 2020-05-16 15:46:09
事件驱动并不意味着线性事件流、事件排序或使用Kafka。
正如它与事件源、领域驱动的设计或sagas无关一样.您所需要做的就是将一个事件发布到一些消息传递基础设施,这样下游系统就可以使用它了。
事件驱动本质上是消息传递。它不是新的,所有消息传递模式都在Martin的“企业应用程序体系结构模式”一书中进行了正确的描述。在消息传递中,没有一个字能说明顺序的单线程处理。
就像负载平衡的HTTP调用一样,使用竞争消费者与message一起进行水平扩展。所有受欢迎的信息经纪人都支持竞争的消费者,这是业界几十年来一直使用的模式。
https://stackoverflow.com/questions/61420587
复制相似问题