微服务 - 初级篇
认识微服务
1.1 单体架构
特点:
- 共用一个启动类
- 共用一个端口号
- 共用一个数据库
优点:
- 架构简单
- 部署成本低
- 开发成本低
缺点:
- 耦合度高(维护困难、升级困难)
- 升级困难
- 维护成本高
1.2 分布式架构
优点:
- 降低服务耦合
- 有利于服务升级和拓展
- 方便升级改造
- 维护成本低
缺点:
- 架构复杂度高
- 开发困难
1.3 微服务
特征:
- 单一职责:微服务拆分粒度更小,每一个服务都对应唯一的业务能力,做到单一职责
- 自治:团队独立、技术独立、数据独立,独立部署和交付
- 面向服务:服务提供统一标准的接口,与语言和技术无关
- 隔离性强:服务调用做好隔离、容错、降级,避免出现级联问题
以上四个关于微服务的特征能够进一步降低服务之间的耦合度,提供服务的独立性和灵活性。做到高内聚,低耦合。
SpringCloud
2.1 了解
SpringCloud是目前国内使用最广泛的微服务框架,官网地址: https://spring.io/projects/spring-cloud
SpringCloud集成了各种微服务功能组件,并基于SpringBoot实现了组件的自动装配。