KEEL · 龙骨 · A CURRICULUM FOR THE AI ERA

03. 客户系统怎样接进来而不失控? — keel 龙骨

事件助手需要 ticket、metrics、change 和 runbook。真实客户环境里,这些数据来自不同身份系统、网络区域和 schema 版本;接口超时与重复 webhook 比 prompt 更早决定项目能否上线。

事件助手需要 ticket、metrics、change 和 runbook。真实客户环境里,这些数据来自不同身份系统、网络区域和 schema 版本;接口超时与重复 webhook 比 prompt 更早决定项目能否上线。

Integration Contract 的六个部分

部分 需要固定的内容
Identity service principal、用户委派、tenant 和 scope
Transport REST/webhook/queue、TLS、签名和超时
Schema 版本、必填字段、枚举、时间和单位
Semantics event ID、业务幂等键、顺序和删除含义
Data policy PII/secret 分类、留存、日志和地域
Failure retryable、dead-letter、unknown、reconcile 和 owner

模型不能“智能修复”身份、租户或版本错误。先用 JSON Schema/Pydantic 等验证,再把已授权、已归一的数据交给 Harness。

Webhook 的最小安全边界

配套项目验证:HMAC 签名、时间容差、tenant、schema version 和 event ID replay。运行:

python courses/advanced/fde-customer-delivery/course/project/examples/02_signed_webhook.py

相同 event ID 与相同 payload 重放时返回已有 receipt;相同 ID 换 payload 必须报冲突。签名正确也不等于业务授权,tenant 和 scope 仍要校验。

从模拟接口走向真实 adapter

不要直接删掉模拟层。先把已有的 simulator 固定成一组稳定 port(对外接口),再按同一组 port 增加真实 adapter 和 contract tests,最后在一套与生产隔离的 staging 环境里做联调。这样开发仍可确定性运行,真实凭据和网络问题只存在于 adapter 边界。

判断自己做到了没有,看两件事:一是停掉真实依赖时,整套流程还能用 simulator 跑通;二是把 simulator 换成真实 adapter 时,上层代码一行都不用改。

本章交付物

自测

下一章:第一条全栈垂直切片应该包含什么?

进入 keel 阅读