SuperAPI AI 工具集

cqrs-implementation

编程与开发

查看项目

更新于 10-16 00:30

技能介绍

用途:该技能用于实现 CQRS(Command Query Responsibility Segregation,命令查询职责分离)架构,适合需要分离读写关注点、独立扩展读操作、构建事件溯源系统、优化复杂查询或高性能报表的场景。

主要能力:资料给出 CQRS 架构图与核心组件说明,包括 Command(状态变更意图)、Command Handler(校验并执行命令)、Event(状态变更记录)、Query(数据请求)、Query Handler(从读模型取数)、Projector(由事件更新读模型)。提供五类模板:命令基础设施(Command 基类、具体命令、CommandHandler、CommandBus)、查询基础设施(Query、OrderView、PaginatedResult、QueryBus)、FastAPI CQRS 应用(命令端点用 POST/PUT/DELETE,查询端点用 GET,通过依赖注入获取总线)、读模型同步(ReadModelSynchronizer 轮询事件并应用投影,支持重建投影)、最终一致性处理(ConsistentQueryHandler 等待读模型达到预期版本,超时返回可能过期的数据并附警告)。

使用方式:资料未提供安装命令或具体调用步骤,仅以 Python 代码模板展示实现方式,涉及 FastAPI、Pydantic、异步数据库访问等。

最佳实践:命令与查询模型分离;接受最终一致性;在命令处理器中于状态变更前校验;读模型反规范化以优化查询;为事件加版本以支持模式演进。避免在命令中查询、耦合读写模式、过度设计、忽视一致性 SLA。

限制:资料未说明支持的编程语言范围、依赖版本、性能数据、收费或平台信息,也未给出可直接运行的完整项目结构。