一张图讲清楚:一个线上业务系统,应该从哪几个维度被"治理",以及这些维度之间如何相互闭环。
随着业务规模扩张,一个线上系统会同时承受三类压力:
只盯着代码写得好不好、机器够不够,都只能解决其中一面。真正的系统治理,是把"可见、可控、可演进"作为统一目标,从五个相互嵌套的层面同时下手:
| 层面 | 治理目标 | 关键问题 |
|---|---|---|
| 应用层 | 边界清晰、依赖单向 | 谁调谁?谁负责什么? |
| 存储层 | 冷热分离、读写分流 | 数据放在哪里、怎么访问? |
| 监控层 | 全链路可观测 | 出问题第一时间能不能看到? |
| 数据分析层 | 现状可量化 | 决策有没有数据支撑? |
| 业务/产品层 | 需求可演进 | 系统是不是在往正确的方向长? |
下面逐层展开。
系统的运行时骨架,体现"分层解耦 + 单向依赖"思想。
SOAs(同步 RPC )和 Jobs(异步定时任务)作为两类入口,统一收敛Logic Box 承载业务逻辑,是唯一可写状态的地方Data Structure 定义 DTO / DO / PO ,约束跨层传递MQ 用于削峰、事件驱动、跨服务最终一致治理动作:服务边界审查、依赖方向治理、入口流量收敛、异步化拆分。
MySQL —— 持久化主存Redis —— 缓存与分布式状态治理动作:冷热分离、读写分流、缓存一致性策略、容量规划。 存储治理与应用层的
Data Structure紧耦合,模型设计往往决定存储成本。
经典的 可观测性三大支柱:
| 维度 | 作用 | 典型工具 |
|---|---|---|
Logger |
事实记录 | ELK / SLS |
Metrics |
趋势聚合 | Cat / Log / Hickwall |
Trace |
链路追踪 | SkyWalking / Jaeger |
配合 SOA Center、Job Center 提供的服务/任务元数据,构成对 DevOps 的白盒视图——"You can detect anything like a white box"。
治理动作:定义 SLI/SLO 、告警分级、排障 Runbook 、日志规范化。
让数据从"有"走向"可用、可查、可决策"。
Data Analyst 基于 iData 平台Hive(离线数仓)、ClickHouse / CK(实时 OLAP )治理动作:指标口径治理、数据血缘、报表沉淀、回流到产品决策。
最外层,也是治理的目的层——技术存在是为了支撑业务。
Product Manager 通过 Product Manage Portal 管理需求池Dev Workflow 把 Issue 与 Code Review 串入研发流水线,下达到 DevOpsProduct Expansion Thinking(产品扩展性思考)作为输入,驱动 PM 长期规划Data Analyst 持续向 PM 提供 Product Feedback,形成数据驱动闭环治理动作:需求分级、Code Review 标准、灰度发布、版本节奏、产品演进路线。
五层不是平行堆叠,而是层层嵌套、相互反馈:
Product Expansion Thinking
│
▼
Data Analyst ──feedback──► PM ──manage──► Portal ──► Dev Workflow
▲ │
│ ▼
Big Data DevOps
▲ │
│ ▼
Hive / CK ◄── Logger / Metrics / Trace ◄── 应用层 + 存储层
▲
│
SOAs / Jobs / Logic / MQ / MySQL / Redis
正向链路:业务需求 → 研发交付 → 应用与存储 → 运行时产生日志/指标 → 沉淀到数仓 反向链路:数据沉淀 → 数据分析 → 产品反馈 → 下一轮迭代
闭环成立的标志:每一次线上行为都能被观测、被分析、被反馈到下一次产品决策。
┌─────────────────────────────────────────────────────────────────────────────┐
│ ⑤ 业务完成与扩展层 Product / Delivery Governance │
│ │
│ ┌────────────────────────┐ │
│ │ ④ 数据分析层 │ ┌──────────────────────────────────────┐ │
│ │ │ │ ③ 监控层 Observability │ │
│ │ 👤 Data ─ ─► [BigData]│ │ ☁ SOA Center ☁ Job Ctr │ │
│ │ Analyst Hive│CK │ │ │ │ │ │
│ │ │ │ │ │ Call │ dispatch │ │
│ │ │ Product │ │ ▼ ▼ │ │
│ │ │ Feedback │ │ ┌─────────────────────────────┐ │ │
│ │ ▼ │ │ │ ② 应用层 Application │ │ │
│ │ 👤 PM ──Manage──►[Portal]──► │ │ [SOAs] [Jobs]│ │ │
│ │ │ │ │ │ \ / │ │ │
│ │ │ Issue&CR │ │ │ ▼ ▼ │ │ │
│ │ ▼ │ │ │ [Logic Box]◄───┐ │ │ │
│ │ [Dev Workflow]──────►│──────┼──│ ▲ │ │ │ │ │
│ │ ▲ │ │ │ │ ▼ │ │ │ │
│ │ │ │ │ │ [MQ] [Data Struct.] │ │ │
│ │ ☁ Product │ │ │ ▲ │ │ │
│ │ Expansion │ │ └──────────────│───────────────┘ │ │
│ │ Thinking │ │ │ │ │
│ └────────────────────────┘ │ ┌─────────────│──────────┐ │ │
│ │ │ ① 存储层 Storage │ │ │
│ │ │ [MySQL] ──►│ [Redis] │ │ │
│ │ └─────────────┴──────────┘ │ │
│ │ │ │
│ │ [Logger] [Metrics] [Trace] │ │
│ │ ▲ ▲ ▲ │ │
│ │ └───────┼────────┘ │ │
│ │ Cat / Log / Hickwall │ │
│ │ │ │ │
│ │ 👤 DevOps ─ ─ white box ─ ─►│ │
│ └──────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────────┘
实线 = 运行时调用 / 数据流 虚线 = 治理 / 反馈 / 管理动作
系统治理 = 让系统"可见 → 可控 → 可演进"。
监控层让系统可见,应用层与存储层让系统可控,数据分析层让现状可量化,业务/产品层让系统可演进——四个内层共同向最外层的业务交付价值,业务再反哺技术,形成正向飞轮。
治理不是一次性项目,而是持续做的小事。每一项 Checklist 推进 1%,整个系统就进步 5%。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.