# 微服务
## 认识微服务
微服务架构,首先是服务化,就是将单体架构中的功能模块从单体应用中拆分出来,独立部署为多个服务。
**SpringCloud**

使用Spring Cloud 2021.0.x以及Spring Boot 2.7.x版本(需要对应)。
在父pom中的``锁定版本,使得后续你在子模块里引用 Spring Cloud 或 Spring Cloud Alibaba 的各个组件时,不需要再写 ``,Maven 会统一采用你在父 POM 中指定的版本。
## 微服务拆分
微服务拆分时:
- **高内聚**:每个微服务的职责要尽量单一,包含的业务相互关联度高、完整度高。
- **低耦合**:每个微服务的功能要相对独立,尽量减少对其它微服务的依赖,或者依赖接口的稳定性要强。
**一般微服务项目有两种不同的工程结构:**
- [ ] 完全解耦:每一个微服务都创建为一个**独立的工程**,甚至可以使用不同的开发语言来开发,项目完全解耦。
- 优点:服务之间耦合度低
- 缺点:每个项目都有自己的独立仓库,管理起来比较麻烦
- [x] **Maven聚合**:整个项目为一个Project,然后每个微服务是其中的**一个Module**
- 优点:项目代码集中,管理和运维方便
- 缺点:服务之间耦合,编译时间较长
IDEA配置小技巧:
1.自动导包

2.配置service窗口,以显示多个微服务启动类