互联网架构介绍001 之 单体架构
互联网架构的演进之路
单体架构 —> 水平分层架构 / 面向服务架构 —> 微服务架构 —> 服务网络架构
1. 单体架构
所有功能模块在同一个Java WAR File 中。
-
单体架构适用场景
(1)业务场景简单、功能不复杂、研发人员较少,O2O。
(2)适合创业公司初期。
(3)性能要求极其苛刻。 -
单体架构优点
容易开发布署,测试,开发,扩展。 -
单体架构缺点
(1)系统耦合性高。
(2)技术选型单一。
(3)开发效率越来越低下。
单体架构模型图如下:
- 如何破局
(1)数据库存储量大破局思路:
拆分{
垂直拆分(分库):当数据量变大时
水平拆分(分表): 当数据量变超大时
}
(2)架构同理
垂直方向拆分(业务维度)
水平方向拆分(功能维度)
2. 水平架构分层模型图
将同一个进程拆分为多个进程。
网关开源组件:
3. 将同步单体架构修改为异步架构
4. SOA 架构
多个独立服务,通过 ESB 交互
5. 微服务架构
5.1 微服务架构拆分的本质
- 两个维度的拆分 (垂直拆分,水平拆分)
相对来说,垂直拆分会更加难一些。 - 业务架构
- 组织架构
5.2 微服务架构适用场景
- 需求层面
- 性能层面
- 数据一致性层面
5.3 微服务架构的目的
- 项目快速迭代
- 项目持续交付
- 降人提效(降低人力成本,提高效率)
本文学自视频: https://www.bilibili.com/video/av59516882/?p=3