1. 创业初期all in one架构特点
- 单机系统
程序、数据库及相关组件部署于同一台机器,耦合度高,所有业务逻辑集中于一个项目。 - 快速迭代需求
为了实现快速上线和业务验证,采用简化的单机架构,满足demo快速迭代。 - 性能瓶颈明显
随着访问量增加,单机资源(网络带宽、CPU、内存、磁盘IO)成为系统瓶颈,导致卡顿和宕机。
2. 伪分布式架构与三大分离设计方案
- 架构演进
由单机升级为多机部署,形成伪分布式架构,部分服务器负责fire server、web以及数据库的分工,具备一定容错能力。 - 三大分离方案
读写分离(分散数据库读写压力)、动静分离(静态资源和动态服务分开)、前台后台分离(用户访问系统与运营系统分离),均通过硬件扩容快速提升性能。 - 限制与问题
耦合未彻底解决,子系统单点故障仍影响全站;读写分离带来数据库组群延时,主库数据量未减,读写性能提升有限。
3. 业务垂直拆分与架构解耦
- 业务拆分示例
以58同城早期结构为例,首页、发布页、列表页、详情页各自独立业务模块,实现逻辑和代码的垂直拆分。 - 代码和数据库拆分
代码按业务拆分至多个子系统,减少冲突和耦合,提升开发效率;数据库根据业务进行垂直切分,降低单库数据量和读写压力,缓解延迟。 - 研发团队拆分
团队按业务和系统分工,职责明确,专业化程度提升,促进敏捷研发流程和效率。
4. 持续垂直拆分与复杂业务演进
- 持续过程
随着业务复杂度增加,垂直拆分成为架构发展的惯例和必然,非一次性工作。 - 实例说明
京东首页拆分为多个业务系统模块(搜索、购物车、分类、广告等),各模块独立支撑复杂业务需求。 - 增加硬件资源辅助解耦
垂直拆分同样依赖硬件资源扩展,平衡技术改造和性能提升的成本。
5. 综合总结:提升性能与解耦的策略
- 主要挑战
系统卡顿是性能问题,系统单点故障是耦合问题。 - 性能提升策略
快速使用伪分布式和三大分离设计扩充硬件资源,快速提升系统性能。 - 解耦策略
采纳业务、代码、数据库及团队的垂直拆分,降低耦合,提高系统稳定性和研发效率。 - 核心思想
创业初期最大成本是时间成本,优先用硬件和结构调整解决性能问题,避免大规模重构;以快速迭代支撑业务快速发展。

