一、演变过程
- 传统架构模式(单点应用)
- 分布式架构模式(以项目进行拆分)
- SOA架构模式(面向服务架构)
- 微服务架构
1、传统架构
传统架构其实就是SSH架构或者SSM架构,属于单点应用。
优点:开发简单;运维简单
缺点:不适合团队模式协同开发;如果系统中某个模块出现不可用,会导致整个系统无法使用。
应用场景:政府项目、管理系统、crm、oa
2、分布式架构
将传统的项目以项目模块进行拆分成n多子项目。
项目粒度更加精细,耦合度降低。
3、SOA架构
采用SOAP协议(Http + XML)
缺点:1、采用soap协议实现通讯,xml传输非常重,效率比较低
2、服务和管理设施不够完善
3、不适合前后端分离架构模式
4、依赖与中心服务发现机制
4、微服务架构
微服务架构与SOA架构的不同:
1.微服务架构基于 SOA架构 演变过来,继承 SOA架构的优点,在微服务架构中去除 SOA 架构中的 ESB 企业服务总线,采用 http+json(restful)进行传输。
2. 微服务架构比 SOA架构粒度会更加精细,让专业的人去做专业的事情(专注),目的提高效率,每个服务于服务之间互不影响,微服务架构中,每个服务必须独立部署,微服务架构更加轻巧,轻量级。
3.SOA 架构中可能数据库存储会发生共享,微服务强调独每个服务都是单独数据库,保证每个服务于服务之间互不影响。
4.项目体现特征微服务架构比 SOA 架构更加适合与互联网公司敏捷开发、快速迭代版本,因为粒度非常精细。
二、微服务
微服务是一种架构风格
- 一系列微小的服务共同组成
- 跑在自己的进程里
- 每个服务为独立的业务开发
- 独立部署
- 分布式管理
分布式:由多个自主的处理元素,不共享主内存,但通过网络发送消息合作
微服务架构的基础框架:
- 服务注册发现
- 服务网关(Service GateWay)
- 后端通用服务(Middle Tier Service)
- 前端服务(Edge Service)