分布式架构由来
单体架构的优点:
- 架构简单
- 部署成本低
单体架构的缺点:
- 耦合度高,不利于扩展及维护
分布式架构: 根据业务功能对系统进行拆分,每个业务模块作为项目独立开发,称为一个服务
分布式架构的优点(解决了单体架构的耦合维护问题以及增加了额外扩展功能):
- 降低服务耦合
- 有利于服务升级拓展
实现分布式架构要解决的问题:
- 服务拆分粒度如何,例如哪几个服务要单独作为独立模块、哪些业务要在一起
- 服务集群地址如何维护,例如一个服务要去多个服务里面找它要的服务,它怎么找,它要找的那个服务的地址是什么
- 服务之间如何相互实现远程调用
- 服务调用前健康状态如何感知
微服务架构 (是众多实现方案最好的)
特征:
- 单一职责: 微服务拆分粒度更小,每一个服务都对应唯一的业务能力,做到单一职责,避免重复业务开发
- 面向服务: 微服务对外暴露业务接口,简单说就是把每一个小的服务的接口暴露出来,方便给主服务调用
- 自治: 团队独立(比较少的人数组成一个团队)、技术独立(同一个团队的人员可以使用不同的技术)、数据独立(同一个团队的人员有自己的数据库)、部署独立
- 隔离性强: 服务调用做好隔离、容错、降级,避免出现级联问题。当一个服务出错时,为了不影响其它服务,所以把出错的服务隔离起来
- 优点: 拆分粒度更小、服务更独立、耦合度更低
- 缺点: 架构非常复杂,运维、监控、部署难度更高
分布式架构可以把商品、订单 库存和积分 部署在2台机器。 力度粗,属于部署范畴
而微服务的思想就是商品是一个服务,订单是一个服务等等。拆分的力度比较细,属于开发范畴