微服务查询模式

文章目录

    • API组合模式
    • CQRS模式

API组合模式

  • 查询每个服务API并组合结果。
  • 注意点:
    • API组合器需要使用响应式编程,并行调用较小rt。
  • 优点:
    • 简单直观。
  • 缺点:
    • 增加额开销。
      • I/O。涉及多次rpc和查库。
      • CPU。聚合查询结果,可能需要执行大规模数据内存链接。
    • 可用性降低。受依赖服务的影响。
    • 缺乏数据一致性。跨库查询,柔性事务下缺少一致性视图。

CQRS模式

  • 命令查询职责分离。使用事件维护从多个服务复制的只读视图。
  • 微服务架构查询的问题。
    • API组合模式查询分散的数据导致低效的内存链接。
    • 拥有数据的服务没有以有效支持查询的表单或数据库存储。
    • 隔离问题。拥有数据的服务不一定是实现查询的服务。
  • 优点:
    • 查询高效。无需内存链接或多次的rpc。
    • 多个查询视图实现多种查询类型。
    • 聚合事件数据流,保持最新的视图,解决事件溯源的主要查询限制。
    • 进一步实现问题隔离。命令端追求一致性,查询端追求高吞吐。
  • 缺点:
    • 架构更复杂。
    • 数据复制延迟。

你可能感兴趣的:(架构)