md_files/自学/微服务.md

2.0 KiB
Raw Blame History

微服务

认识微服务

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

image-20250520114708790

SpringCloud

image-20250520123727017

使用Spring Cloud 2021.0.x以及Spring Boot 2.7.x版本需要对应

image-20250520124938379 image-20250520124948604

在父pom中的<dependencyManagement>锁定版本,使得后续你在子模块里引用 Spring Cloud 或 Spring Cloud Alibaba 的各个组件时,不需要再写 <version>Maven 会统一采用你在父 POM 中指定的版本。

微服务拆分

微服务拆分时:

  • 高内聚:每个微服务的职责要尽量单一,包含的业务相互关联度高、完整度高。
  • 低耦合:每个微服务的功能要相对独立,尽量减少对其它微服务的依赖,或者依赖接口的稳定性要强。
image-20250520133100419

一般微服务项目有两种不同的工程结构:

  • 完全解耦:每一个微服务都创建为一个独立的工程,甚至可以使用不同的开发语言来开发,项目完全解耦。
    • 优点:服务之间耦合度低
    • 缺点:每个项目都有自己的独立仓库,管理起来比较麻烦
  • Maven聚合整个项目为一个Project然后每个微服务是其中的一个Module
    • 优点:项目代码集中,管理和运维方便
    • 缺点:服务之间耦合,编译时间较长

IDEA配置小技巧

1.自动导包

image-20250520182745862

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