实验室信息学架构(06)集成架构与平台工程(API 网关 / 事件驱动 / 编排)
集成架构决定了“系统能否长久演进”。本篇给出事件驱动的推荐实践与平台工程化思路。
1. 集成拓扑选型
- 点对点:初期快,但维护成本高
- 中心枢纽(ESB/API 网关):统一鉴权/限流/可观测
- 事件驱动(EDA):系统解耦,天然审计与重放能力
2. 事件与主题设计
- 按领域划分主题:lims.sample、les.execution、sdms.asset、qms.deviation 等
- 事件结构最小化:id、type、source、time、subject、data(遵循 CloudEvents 思想)
- 版本与兼容:事件 schema 版本化,兼容性策略
事件消息示例:
{
"id": "evt-9b2b...",
"type": "lims.sample.result.approved",
"source": "lims",
"time": "2025-11-11T10:30:00Z",
"subject": "S-2025-000123",
"data": {
"test": "ASSAY",
"value": 99.3,
"unit": "%",
"spec": {"lower": 97, "upper": 103}
}
}
3. API 网关与安全
- 统一认证鉴权、最小权限、细粒度审计
- 限流/熔断/重试/幂等键
- 北向/南向接口目录与生命周期管理
4. 编排与治理
- Orchestration vs Choreography:何时集中编排、何时“让事件自然流动”
- 工作流引擎与低代码平台的边界
- 运行时可观测:日志/指标/追踪与事件流并行
5. 端到端示例(结果回写链路)
1) LES 完成→发布 les.execution.completed 2) SDMS 落地→发布 sdms.asset.created 3) 服务消费两事件,聚合并回写 LIMS(API) 4) LIMS 审批通过→发布 lims.result.approved
6. 落地建议
- 先梳理“关键事件清单”,再定主题与权限
- 建立事件兼容策略与回放机制
- API 与事件统一目录与版本治理
—— 系列第 06 篇,下一篇(可选):主数据与语义标准、可观测性实践。