架构
系统如何组合在一起
设计系统时我们最先画的图。每张图展示分层或流程,以及承担负载的组件。
这些是通用模式。真实的设计从您的需求与约束出发,通常至少会在一个重要方面偏离模式。
生产级 AI 应用的构成
用户
- Web 应用
- 移动应用
- 对话界面
- 内部工具
应用层
负责身份、权限与用户体验
- 会话管理
- 访问控制
- 流式响应
- 反馈采集
AI 编排层
提示词、工具与策略在此版本化并测试
- 提示词管理
- 工具调用
- 护栏
- 模型路由
模型 / 智能体
- 托管 LLM
- 自托管模型
- 任务智能体
- 嵌入模型
知识与数据层
检索遵循调用方的权限
- 向量索引
- 文档存储
- 关系型数据
- 语义缓存
企业系统 / API
- ERP 与 CRM
- 身份提供方
- 内部 API
- 文档库
基础设施与可观测性
按请求度量链路、成本与质量
- Kubernetes
- GPU 与 API 容量
- 链路追踪与评估
- 成本监控
AI 工程生命周期
- 01
数据
采集、清洗、标注并治理数据源
- 02
模型
选型、适配并管理模型版本
- 03
编排
提示词、检索、工具与护栏
- 04
应用
产品界面与系统集成
- 05
评估
离线测试集与线上评审
- 06
可观测性
链路、成本、延迟与漂移信号
检索增强生成流水线
摄取
- 01
数据源
文档、数据库、内部 API
- 02
解析与切分
提取文本,保留结构
- 03
向量化
批量生成嵌入,模型有版本
- 04
索引
带 ACL 的向量与关键词索引
查询
- 01
提问
已认证用户及其权限范围
- 02
检索
向量与关键词混合检索
- 03
重排
只保留相关性最高的段落
- 04
生成
有依据并附引用的答案
- 05
评估与记录
追踪、评分并收集反馈
带人工审批的智能体工作流
推理
- 01
触发
事件、定时任务或用户请求
- 02
规划
把目标拆成有边界的步骤
- 03
工具调用
通过类型化工具只读查询
- 04
拟定操作
拟议的变更及其证据
受控执行
- 01
策略检查
限额、权限与风险评级
- 02
人工审批
高影响操作必须审批
- 03
执行
向目标系统幂等写入
- 04
验证
确认结果,重试或回滚
- 05
审计
每一步都有日志且可重放
微服务架构
客户端
- Web 应用
- 移动应用
- 合作方集成
API 网关 / BFF
- 路由
- 身份认证
- 限流
- 响应裁剪
领域服务
每个服务负责一个限界上下文
- 订单
- 支付
- 商品目录
- 账户
- 通知
异步消息
- Kafka 主题
- Outbox 发布器
- 事件消费者
- 死信队列
数据存储
每个服务独立数据库,不共享表
- 各服务独立 PostgreSQL
- Redis 缓存
- 搜索索引
- 对象存储
平台
- 链路追踪与指标
- 集中式日志
- CI/CD 流水线
- 服务配置
事件驱动架构
生产者
- 01
命令
服务处理一次请求
- 02
本地事务
状态与 Outbox 记录一并提交
- 03
Outbox 中继
轮询或跟踪日志后发布
- 04
发布
带键和 Schema 版本的事件
Broker
- 01
主题
每种事件类型或聚合一个
- 02
分区
同一个键内保证顺序
- 03
保留
可从更早的 offset 重放
- 04
死信队列
存放持续失败的事件
消费者
- 01
消费者组
跨分区横向扩展
- 02
幂等处理器
应用前按事件 ID 去重
- 03
退避重试
仅用于瞬时故障
- 04
提交 offset
在副作用成功之后
- 05
投影状态
更新读模型与缓存
前端渲染策略
构建时(SSG)
- 01
内容与数据
构建时读 CMS、Markdown、API
- 02
静态生成
页面一次性渲染为 HTML
- 03
CDN
缓存后由边缘节点分发
- 04
重新验证
内容变更或定时触发再生成
请求时(SSR)
- 01
请求
需要用户专属或最新数据
- 02
服务端渲染
获取数据,渲染组件
- 03
流式传输
先发页面骨架,再发较慢部分
- 04
水合
在浏览器中绑定事件处理
客户端(SPA)
- 01
客户端状态
UI 状态与乐观更新
- 02
API 调用
向后端发起类型化请求
- 03
缓存
去重、重新验证、失效
- 04
导航
带预取的客户端路由
移动应用后端
移动应用
- iOS (Swift)
- Android (Kotlin)
- Flutter
- 离线存储
边缘
- CDN
- API 网关
- 身份认证
- 限流
BFF / 移动端 API
尽量做到每个界面一次往返
- 按界面裁剪的响应
- API 版本管理
- 数据同步接口
- 功能开关
服务
- 账户
- 内容
- 支付
- 媒体处理
数据与通知
- PostgreSQL
- Redis
- 对象存储
- APNs 与 FCM 推送
可观测性
- 崩溃上报
- API 链路追踪
- 发布健康度
- 客户端分析
云平台架构
边缘
- DNS
- CDN
- WAF
- DDoS 防护
网络
工作负载与数据位于私有子网
- VPC
- 公有与私有子网
- 负载均衡器
- NAT 与对等连接
计算
- Kubernetes
- 容器
- Serverless 函数
- 自动伸缩
数据
- 托管数据库
- 缓存
- 对象存储
- 消息队列
平台服务
- 机密管理
- IAM
- 基础设施即代码
- 容器镜像仓库
可观测性与灾备
恢复要经过演练,而不是想当然
- 指标与日志
- 链路追踪
- 备份
- 多可用区故障切换
带安全门禁的 CI/CD 流水线
构建与验证
- 01
提交
经评审后合并到主干分支
- 02
构建
可复现,依赖版本锁定
- 03
测试
单元、集成与契约测试
- 04
SAST 与依赖扫描
静态分析与依赖审计
- 05
镜像扫描与签名
扫描镜像层、签名并附 SBOM
发布
- 01
预发布
同一制品,类生产数据
- 02
金丝雀
小比例流量,观察信号
- 03
生产
带门禁的渐进式发布
- 04
监控
由 SLO 决定推进或回滚
安全架构:纵深防御
身份
每个请求都经过认证与授权
- SSO 与 MFA
- 基于角色的访问控制
- 服务身份
- 会话策略
边缘
- WAF
- DDoS 防护
- TLS 终止
- 限流
应用
- 输入校验
- 授权检查
- 安全 SDLC
- 依赖扫描
数据
- 静态加密
- 传输加密
- 密钥管理
- 数据分类
基础设施
- 网络分段
- 加固镜像
- 机密管理
- 补丁管理
检测与响应
假定某项控制会失效,并为此做好预案
- 集中审计日志
- 告警规则
- 事件响应手册
- 取证留存
Web3 与数字资产基础设施
应用与 API
- 客户端应用
- API 网关
- 合作方 API
- 运营控制台
钱包与交易
- 地址管理
- 交易构建器
- Nonce 与手续费控制
- 策略引擎
密钥管理
密钥绝不离开签名边界
- HSM
- MPC 签名
- 多人审批门限
- 密钥轮换
节点 / RPC 层
- 全节点
- RPC 服务商
- 故障切换路由
- Mempool 访问
索引与分析
链上数据在最终确认前都是暂定的
- 区块摄取
- 事件解码
- 重组处理
- 查询 API
监控与合规
- 交易监控
- 地址筛查
- 审计轨迹
- 告警
现代数据平台
摄取与存储
- 01
数据源
数据库、SaaS 工具、事件、文件
- 02
摄取
批量、CDC 与流式
- 03
原始存储
不可变的落地区
- 04
湖仓
开放表格式或数据仓库
- 05
数据目录
Schema、血缘与归属
转换与服务
- 01
转换
版本化、经测试的 SQL 模型
- 02
质量检查
新鲜度、数据量与 Schema 测试
- 03
BI 服务
仪表盘与受治理的指标
- 04
API 服务
面向应用的数据产品
- 05
ML 与嵌入
特征与向量索引
- 06
治理
访问策略、脱敏与审计
高性能交易平台
渠道
- Web
- 移动端
- 合作方 API
- 批量文件
API 网关
- 身份认证
- 限流
- 幂等键
- 请求签名
交易服务
Java 与 Spring Boot,无状态,水平扩展
- 支付发起
- 授权
- 账本记账
- 限额与风控
Kafka 事件主干
- 交易事件
- Outbox 中继
- 分区主题
- 死信主题
账本数据库与 Redis
账本是权威数据,缓存不是
- 复式记账账本
- 只读副本
- 余额缓存
- 分布式锁
对账与审计
- 结算匹配
- 差异检测
- 不可变审计日志
- 报表导出
监控
- 延迟与错误率 SLO
- 消费者滞后
- 链路追踪
- 业务告警
多租户 SaaS 架构
租户感知的边缘
- 自定义域名
- 租户解析
- WAF
- 按租户限流
身份与 SSO
- SAML 与 OIDC
- SCIM 账号开通
- 角色与权限
- MFA
控制平面
只管理租户,从不承载其流量
- 租户生命周期
- 套餐与权益
- 计费与计量
- 功能开关
应用平面
- 无状态服务
- 后台任务
- 租户上下文
- Webhook
数据隔离
按套餐层级选择隔离模型
- 行级安全
- 每租户独立 Schema
- 专属数据库
- 每租户独立密钥
按租户的可观测性
- 用量指标
- 带租户标签的链路
- 吵闹邻居告警
- 审计日志
现实世界资产代币化流程
链下
- 01
资产准入
法律结构与文件
- 02
投资者 KYC
身份与资格审查
- 03
资产登记
所有权与权利的记录
- 04
对账
登记记录与链上状态核对
- 05
报告
对账单、审计与信息披露
链上
- 01
代币发行
依据已登记资产铸造
- 02
白名单
仅已验证钱包可持有
- 03
转让控制
规则在合约中强制执行
- 04
结算
资产与付款原子交割
- 05
生命周期事件
分配、赎回与销毁
