跳转至

实验室信息学架构(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 篇,下一篇(可选):主数据与语义标准、可观测性实践。