单体应用架构
一个归档包(例如war包),包含所有功能的应用程序,我们通常称为单体应用。而架构单体应用的方法论,就是单体应用架构。
简单的单体应用架构图如下:
简单的单体应用架构图
单体架构优点:
- 架构简单
- 开发、测试、部署方便
单体架构缺点:
- 复杂性高
- 部署慢,频率低
- 扩展能力受限
- 阻碍技术创新
微服务
定义:
定义
微服务特性(1)
1、每个微服务可以运行在自己的进程里
2、一系列独立运行的微服务共同构建起整个系统
3、每个服务为独立的业务开发,一个微服务只关注特定的功能,例如订单管理、用户管理等
微服务特性(2)
1、可以使用不同的语言与数据存储技术(契合项目情况和团队实力)
2、微服务之间通过轻量级通信机制进行通信,例如REST API进行调用
(轻量级通信机制需要具备两点:通信的协议应该是轻量的;可跨平台)
3、全自动的部署机制
一个微服务的通用的架构图大概如下:
image.png
微服务优点:
- 单个服务更易于开发、维护
- 单个服务启动比较快
- 局部修改容易部署
- 技术栈不受限
- 按需伸缩
微服务缺点:
- 运维要求高
- 分布式固有的复杂性
- 重复劳动
微服务适用场景:
- 大型、复杂项目
- 有快速迭代的需求
- 访问压力大
微服务不适用场景:
- 业务稳定
- 迭代周期长
网友评论