直接回答
事件驱动架构(EDA)通过异步消息把生产者和消费者解耦:组件不直接相互调用,而是发布事件、由中间件(消息队列/事件总线)路由给订阅者。因为各组件只依赖事件契约而不依赖彼此的存在和位置,任何一端都可以独立地增减实例、更换实现,系统的可扩展性由此提升。
展开解析
可扩展性来自三点:一是时间解耦,生产者不必等消费者在线,峰值流量可被队列削峰填谷;二是空间解耦,新增消费者(如风控、推荐、通知)只需订阅事件,不用改生产方代码,符合开闭原则;三是弹性伸缩,可根据队列积压量对消费者做自动扩缩容。代价也很现实:调试与追踪变难(需要分布式链路追踪和事件 ID 贯穿),可能出现重复投递(消费者需幂等),顺序与最终一致性需要显式设计。常见追问:如何保证事件顺序、如何处理毒消息(死信队列)、EDA 与请求-响应模型如何混用。