微服务入门
单体架构
定义:将业务的所有功能集中在一个项目中开发,打成一个包部署
优点:
- 架构简单
- 部署成本低
缺点:
- 团队协作成本高
- 系统发布效率低
- 系统可用性差
总结:适合开发功能相对简单,规模相对较小的项目。
微服务
定义:是服务化思想指导下的一套最佳实践架构方案,服务化,就是把单体架构中的功能模块拆分为多个独立项目
- 粒度小
- 团队自治
- 服务自治
SpringCloud
集成了各种微服务组件,并基于SpringBoot实现了微服务组件的自动装配,从而提供了良好的开箱即用体验
服务拆分原则
从拆分目标说
- 高内聚:每个微服务的职责要尽量单一,包含的业务相互关联度高,完整度高
- 低耦合:每个微服务的功能要相对独立,尽量减少其他微服务的依赖
从拆分方式来说:
- 纵向拆分:按照业务模块
- 横向拆分:抽取公共服务,提高服用性
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Awei的博客!
评论