自学内容网 自学内容网

SpringCloud 2023各依赖版本选择、核心功能与组件、创建项目(注意事项、依赖)

1. 各依赖版本选择

  1. SpringCloud: 2023.0.1
  2. SpringBoot: 3.2.4。参考Spring Cloud Train Reference Documentation选择版本
    SpringBoot版本选择
  3. SpringCloud Alibaba: 2023.0.1.0*: 参考Spring Cloud Alibaba选择版本。同时可以看到每个SpringCloud Alibaba组件的版本选择

SpringCloud Alibaba版本选择

  1. Java: Java17 ~ Java22

  2. Spring: 6.1.5+

  3. Maven: 3.6.3+。Java、Spring和Maven的版本选择参考SpringBoot System Requirements
    Java、Spring和Maven的版本选择参考

  4. Mysql: 8.0+(建议)

2. 核心功能与组件

  • 服务注册与发现:
    • Alibaba Nacos: 注册中心为AP模型,也可以配置为CP模型;配置中心为CP模型。推荐直接使用这个
    • Consul: go开发的,CP模型
  • 服务调用和负载均衡:
    • LoadBalancer
    • OpenFeign: 内部使用了LoadBalancer。已经被弃用,改用HTTP Interface(基于WebClient不支持负载均衡,需要结合LoadBalancer)
  • 分布式事务:
    • Alibaba Seata: 国内用的多,推荐直接使用这个
    • LCN: 用的人少
    • Hmily: 用的人少
  • 服务熔断和降级:
    • Alibaba Sentinel: 国内用的多,推荐直接使用这个
    • Circuit Breaker: 一种规范的抽象API。实现该API的常用组件有Resilience4J、Alibaba Sentinel
  • 服务链路追踪:
    • Micrometer Tracing: Spring Cloud原生的链路追踪组件,如果想用原生的,推荐使用这个
    • Skywalking: 不是Spring Cloud全家桶里面的。如果不想用原生的,推荐直接使用这个
  • 服务网关: Gateway
  • 分布式配置管理:
    • Alibaba Nacos: 使用简单、部署方便、性能较高,能够实现基本的配置管理,提供的控制台也非常简洁。但权限方面控制粒度较粗,且没有审核机制。公司前期推荐直接使用这个
    • Consul
    • Apollo: 不是Spring Cloud全家桶里面的。配置管理流程上比较完善,有相应配置的发布审核、权限管理等。但读写性能没有Alibaba Nacos好;存在学习成本;且部署较为复杂,需要3个模块同时工作,部署一套生产高可用集群至少需要7个节点

3. 创建项目

3.1 注意事项

  1. Settings -> Editor -> File Encodings -> Project Encoding和Default encoding for properties files选择UTF-8
  2. Settings -> Build, Execution, Deployment -> Compiler -> Annotation Processors -> 选择Enable annotation processing

3.2 依赖

父工程添加dependencyManagement依赖

            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>2023.0.1</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>2023.0.1.0</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

原文地址:https://blog.csdn.net/yy8623977/article/details/138336909

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!