15、事件驱动架构中的数据检索与相关模式解析

事件驱动架构中的数据检索与相关模式解析

1. 架构中的编排与协调

在架构设计中,每个有界上下文可由多个服务组成。在不同边界之间,我们采用编排(choreography)的方式;而在边界内部,则可应用协调(orchestration),如定价边界所示。对于更广泛的高级流程,使用编排;而对于较小范围和更局部的流程,可采用协调,例如定价计算。

这种设计思路的主要目的是默认在高级流程中使用编排,而在有限范围内应用协调。这样做能实现服务间的高度解耦,在涉及多个团队的高级层面赋予团队自主性;在涉及人员较少的小范围中使用协调,可让团队自主发布功能而不影响多个领域。

2. 分布式架构下的数据聚合挑战

从单体架构向分布式事件驱动的微服务架构转变后,我们面临一个挑战:如何获取数据的聚合视图?在单体架构和单体数据库中,所有数据集中在一处,获取和连接数据相对简单,通常通过同步 API(如 REST 或 SOAP)暴露信息。但这种方式存在扩展限制。

在分布式架构中,每个独立服务拥有其领域的数据,只能返回关于其领域的信息。例如,UI 可能需要列出所有可用产品及其当前库存和价格。一种可能的解决方案是 API 组合模式,即 UI 应用从每个服务获取信息,合并并显示在 UI 中。然而,这种方法存在严重局限性:
- 性能问题 :处理大量数据时,该方法很快会遇到困难。若要显示包含数百万产品的列表页面,UI 可能需要将数千个项目加载到内存中。
- 用户体验差 :额外的请求会增加 UI 的性能开销,导致用户体验不佳。

3. 事件驱动架构的数据检索模式
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值