SuperAPI AI 工具集

forze-specs-infrastructure

部署与运维

查看项目

更新于 10-16 01:19

技能介绍

用途:Forze 框架中负责“规格与基础设施接线”。内核规格声明模型类型与逻辑名称,依赖模块上的集成配置把每个名称映射到物理基础设施(关系表、集合、Redis 命名空间、存储桶、队列、任务队列、事务路由)。运行时用例在模块合并进 DepsPlan 后,从 ExecutionContext 获取 DocumentQueryPort、DocumentCommandPort、SearchQueryPort 等端口;规格只提供路由(名称)和工厂接收的类型。

主要能力:支持把 DocumentSpec、SearchSpec、CacheSpec、CounterSpec、StorageSpec、QueueSpec、WorkflowSpec 等映射到各依赖模块的配置字典;支持事务路由;建议用共享 StrEnum 表示规格名与依赖路由,保持应用规格、依赖模块映射和事务路由在重构中一致。

用法:DocumentSpec 本身不含 SQL 表或 Mongo 集合字段,需在 PostgresDocumentConfig / MongoDocumentConfig 中按聚合 name 提供 ("schema", "table") 或 (database, collection) 元组,例如 rw_documents 配置。CacheSpec 的名称须与 RedisDepsModule.caches 的键一致;计数器、分布式锁、幂等路由同理。存储、队列、工作流分别用 storages、queue_readers/queue_writers、workflows 映射。事务路由在后端模块注册,应用代码用 ctx.transaction(TxRoute.DEFAULT) 或 UsecasePlan().tx(..., route=...)。

限制与注意:spec.name 与基础设施字典键不匹配是常见接线错误,会导致“dependency not registered”;新代码不要随意混用纯字符串与枚举成员;需要历史语义时在规格上启用 history_enabled,关系仍来自基础设施配置;S3DepsModule、SQSDepsModule、TemporalDepsModule 若不填充路由映射,仅注册客户端键。可配合 forze-domain-aggregates、forze-deps-modules、forze-wiring 使用。