微服务

微服务

单体架构

定义:将业务的所有功能集中在一个项目中开发打包成一个包部署

单体建构缺点

  • 模块之间耦合性高
  • 模块之间数据交互复杂

微服务架构

  • 微服务架构是服务化思想指导下的一套最佳实践架构方案。
  • 服务化,就是把单体架构中的功能模块拆分成多个独立的项目

微服务架构优点

  • 模块之间耦合性低
  • 模块之间数据交互简单
  • 颗粒度小
  • 团队自治
  • 服务自治

服务拆分的原则

  • 创业型项目:先采用单体架构,快速开发,快速试错。随着规模扩大,逐渐拆分
  • 确定的大型项目:资金充足,目标明确,可以直接选择微服务架构,避免后续拆分的麻烦

拆分目标

  • 高内聚:每个微服务模块功能单一,一个功能一个模块,包含的业务相互关联度高,完整度高
  • 低耦合:每个微服务模块之间相互独立,尽量减少对其他微服务的依赖

拆分方式

  • 纵向拆分:按照业务模块来拆分
  • 横向拆分:抽取公共部分,提高复用性

微服务的拆分

拆分服务

拆分的工程结构有两种

独立project

使用一个文件夹来管理每一个微服务,每一个微服务都是一个独立的项目

Maven聚合

使用Maven聚合,将多个微服务聚合到一个项目,每个微服务是一个模块,每个模块都能独立运行、打包和部署

上次更新 2025/11/30 18:15:43