事件驱动微服务架构:请求驱动与事件驱动服务及新功能添加决策
在构建系统时,我们常常会遇到各种架构选择和设计决策的问题。本文将深入探讨事件驱动微服务架构中的请求驱动与事件驱动服务,以及如何决定是在现有服务中添加新功能还是创建新服务。
1. 聚合大小与系统调整
有时候,我们会发现聚合大小设置有误。由于很难准确预见系统的负载和使用情况,所以不必害怕先推进系统建设,后续再进行调整。虽然这些更改可能很繁琐,但事件驱动服务的解耦特性使我们能够相对轻松地替换服务。
2. 请求驱动与事件驱动服务
在事件驱动架构中构建服务时,主要有请求驱动和事件驱动两种方法。事件驱动架构以事件作为事实来源,具有诸多强大的用例。传统微服务通常暴露同步 API 来提供数据访问,这类服务使用和理解起来更简单。
| 服务类型 | 通信方式 | 特点 | 适用场景 |
|---|---|---|---|
| 请求驱动服务 | 同步请求,如 REST API | 功能易于理解,类似本地函数调用,但进行远程网络请求 | 强一致性要求、低规模且需要同步响应的场景 |
| 事件驱动服务 | 事件队列 | 引入异步交互,数据共享更自然 | 对数据一致性要求不高、需要处理大量数据或频繁查找的场景 |
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



