2026年2月8日Evgeny · 高级系统工程师

HighLoad 架构:从单体到微服务


所有伟大的项目都是从单体开始的。但有一天你醒来发现:部署需要一个小时,任何修补都会破坏半个网站,数据库在乞求怜悯。欢迎来到 HighLoad 的世界。

“胖单体”综合症

单体在开始时很方便。但随着负载的增加,它变成了瓶颈。

  • 扩展困难: 为了加速一个模块,你需要复制整个巨大的服务器。
  • 单点故障: “通讯”模块中的错误可能会导致“支付”崩溃。

第 1 步:Highload 系统开发

过渡到微服务不仅仅是更改代码,而是改变思维方式。Highload 系统开发需要明确的职责分离。

Monolith: User -> [App (Auth + Billing + Catalog)] -> DB

Microservices:
User -> [API Gateway]
       -> [Auth Service] -> DB1
       -> [Billing Service] -> DB2
       -> [Catalog Service] -> DB3

高负载系统架构:主要原则

  1. 异步性: 服务不应该互相等待。使用队列 (RabbitMQ, Kafka)。用户点击“购买” -> 我们回复“OK”并将任务放入队列。
  2. 数据隔离: 每个服务都有自己的数据库。不能直接访问别人的数据库,只能通过 API。
  3. 容错性: 即使一个服务宕机,系统也必须工作 (优雅降级)。

风险和陷阱

微服务很复杂。你需要强大的 DevOps、Kubernetes (k8s) 和分布式追踪 (Jaeger)。不要为了炒作而实施它们。

结论: 拆分单体是外科手术。只有当病人真的长大了,穿不下旧衣服时才做。

主题常见问题

流量形态与数据往往与生产不一致。需要场景、与线上一致的指标,以及可回滚的逐步加压。

常见瓶颈在数据库与执行计划、连接池、同步外部调用与队列——可作为快速排查清单。

不一定:失效、冷启动与热点键可能适得其反。缓存要按读模型与 SLO 设计。

垂直扩展与查询优化触顶,且数据增长在分片键上可预期时。

想把这些落地到你的系统里?

介绍一下你的现状 —— 我们会给出工作计划,以及值得写进 SLA/SLO 的可衡量指标。

查看全部:高负载

高负载2026年4月25日
Excel 不再够用:5 个信号说明你的业务需要定制化应用

识别“已长出表格”的典型征兆:对账与统计错误、审批全靠群聊、请求丢失、缺乏端到端可视化。 本文说明何时该启动业务流程自动化,开发符合真实流程的内部 Web 应用(员工门户、客户后台、 工单/申请系统与管理后台)。

阅读文章
高负载2026年4月15日
如何自己对网站进行压力测试并了解其何时会崩溃

自助压力与负载测试:k6、Apache Benchmark 入门、常见误区,以及大促前如何量化容量、避免 502/503 与营销预算打水漂。

阅读文章
高负载2026年2月26日
SaaS平台开发:为什么编写代码只是成功的一半

SaaS 全生命周期:从多租户架构、计费与配额到面向数千用户的容量规划与可观测性——为何多数失败源于基础设施而非功能代码。

阅读文章
高负载2026年2月25日
高负载系统架构:如何处理每秒百万请求

高并发系统架构原则:水平扩展、负载均衡、缓存与队列如何协同,避免单点瓶颈,并在成本与可用性之间取得平衡。

阅读文章