Java 后端架构演进:从单机到微服务的技术选型


一、单机架构
单机架构的核心是'单点部署':后端服务的所有功能模块(从接收请求到返回响应)都在一台机器内完成,不存在跨机器的网络通信。
诞生于互联网发展早期阶段:当时用户访问量小、业务场景简单,单机的计算与存储能力足以支撑业务需求,无需多机分布式协作。

可以用一个简单的类比理解:
- 单机架构 ≈ 一家'夫妻小店':老板(应用服务)、仓库(数据库)、收银台(Web 服务器)都在同一个店面里,顾客的需求在店内即可全部满足。
- 分布式架构 ≈ 连锁超市:总部、分店、中央仓库分散在不同地点,需要通过物流(网络通信)协调工作。
优势在于开发友好
- 开发难度低:无需处理分布式问题,只需专注业务逻辑;
- 部署成本低:只需配置一台机器,新手用
yum/apt装软件、java -jar启动项目即可; - 调试效率高:所有日志都在同一台机器上,
tail -f即可查看完整链路; - 资源开销小:无网络通信损耗,本地进程间通信效率极高。
局限性也很明显
- 性能瓶颈明显:单机的 CPU、内存、磁盘 IO 是天花板,并发请求超过承载能力时服务会卡顿甚至崩溃;
- 可用性极差:机器宕机会导致整个服务不可用,没有备用节点兜底;
- 扩展性差:只能纵向升级硬件,无法横向加机器分担压力;
- 数据安全风险高:数据存在单机硬盘上,若硬盘损坏且未备份,数据直接丢失。
适用场景
小型应用、内部工具、MVP 验证、测试环境或低并发静态服务。例如公司内部的 OA 系统、创业初期的博客 Demo。
二、应用数据分离架构
这是单机架构的核心演进方向——将'应用服务'与'数据服务'拆分到两台独立服务器,解决了'应用与数据库争抢资源'的痛点,也是迈向分布式的关键过渡形态。










