Spring Cloud Alibaba学习笔记1

什么是 Spring Cloud Alibaba ?

Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。

依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里分布式应用解决方案,通过阿里中间件来迅速搭建分布式应用系统。

Spring Cloud 是什么?

Spring Cloud 是一系列框架的有序集合,它利用 Spring Boot 的开发便利性简化了分布式系统的开发,比如服务发现、服务网关、服务路由、链路追踪等。Spring Cloud 并不重复造轮子,而是将市面上开发得比较好的模块集成进去,进行封装,从而减少了各模块的开发成本。换句话说:Spring Cloud 提供了构建分布式系统所需的“全家桶”。

Spring Cloud 优缺点

优点:

  • 集大成者,Spring Cloud 包含了微服务架构的方方面面。
  • 约定优于配置,基于注解,没有配置文件。
  • 轻量级组件,Spring Cloud 整合的组件大多比较轻量级,且都是各自领域的佼佼者。
  • 开发简便,Spring Cloud
  • 对各个组件进行了大量的封装,从而简化了开发。 开发灵活,Spring Cloud 的组件都是解耦的,开发人员可以灵活按需选择组件。

缺点:

  • 项目结构复杂,每一个组件或者每一个服务都需要创建一个项目。
  • 部署门槛高,项目部署需要配合 Docker 等容器技术进行集群部署,而要想深入了解 Docker,学习成本高。

Spring Cloud 的优势是显而易见的。因此对于想研究微服务架构的同学来说,学习 Spring Cloud 是一个不错的选择。

什么是 Spring Boot ?

Spring Cloud 基于 Spring Boot,因此在研究 Spring Cloud 之前,必须先学习 Spring Boot。

Spring Boot 是由 Pivotal 团队提供的基于 Spring 的全新框架,其设计目的是为了简化 Spring 应用的搭建和开发过程。该框架遵循“约定大于配置”原则,采用特定的方式进行配置,从而使开发者无需定义大量的 XML 配置。通过这种方式,Spring Boot 致力于在蓬勃发展的快速应用开发领域成为领导者。

Spring Boot 并不重复造轮子,而且在原有 Spring 的框架基础上封装了一层,并且它集成了一些类库,用于简化开发。换句话说,Spring Boot 就是一个大容器。

Spring Cloud 微服务体系

Spring Cloud 提供以微服务为核心的分布式系统构建标准。Spring Cloud 本身并不是一个开箱即用的框架,它是一套微服务规范,共有两代实现。

  • Spring Cloud Netflix 是 Spring Cloud 的第一代实现,主要由 Eureka、Ribbon、Feign、Hystrix 等组件组成。
  • Spring Cloud Alibaba 是 Spring Cloud 的第二代实现,主要由 Nacos、Sentinel、Seata 等组件组成。

Spring Cloud Alibaba 组件简介

  1. 服务发现与配置管理:
  • Nacos:作为服务注册中心和配置中心,支持动态服务发现、配置管理及动态配置推送功能。
  1. 限流降级:
  • Sentinel:用于流量控制、熔断降级和系统负载保护,确保微服务的高可用性和稳定性。
  1. 消息驱动能力:
  • RocketMQ:分布式消息中间件,支持高吞吐量、低延迟的消息传递,适用于异步通信和数据同步。
  1. 分布式事务:
  • Seata:高性能的分布式事务解决方案,支持多种事务模式,确保分布式环境下的数据一致性。
  1. RPC服务调用:
  • Dubbo:高性能的 Java RPC 框架,支持多种协议和序列化方式,适用于分布式应用程序的构建。

此外,Spring Cloud Alibaba 还包含一些阿里云商业化组件和集成 Spring Cloud 组件,如:

  • Alibaba Cloud ACM:应用配置管理系统,支持分布式配置管理和动态配置更新。
  • Alibaba Cloud OSS:对象存储服务,提供海量、安全、低成本、高可靠的云存储服务。
  • SchedulerX:分布式任务调度平台,支持定时任务、cron表达式以及依赖调度等多种场景。

这些组件共同构成了 Spring Cloud Alibaba 的生态系统,帮助开发者快速构建高效、可靠的微服务应用,并充分利用阿里巴巴的技术和服务优势。

依赖管理

Spring Cloud Alibaba BOM 包含了它所使用的所有依赖的版本。

如果您是 Maven Central 用户,请将我们的 BOM 添加到您的 pom.xml 中的 <dependencyManagement> 部分。 这将允许您省略任何Maven依赖项的版本,而是将版本控制委派给BOM。

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-alibaba-dependencies</artifactId>
            <version>2.2.9.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值