# spring-cloud-alibaba-learning **Repository Path**: quinnnn/spring-cloud-alibaba-learning ## Basic Information - **Project Name**: spring-cloud-alibaba-learning - **Description**: Spring Cloud Alibaba 学习 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2021-12-14 - **Last Updated**: 2021-12-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## Spring Cloud Alibaba 学习 ### 简介 Spring Cloud Alibaba 旨在为微服务开发提供一站式解决方案。该项目包括开发分布式应用程序和服务所需的组件,以便开发人员可以使用 Spring Cloud 编程模型轻松开发分布式应用程序。 使用 Spring Cloud Alibaba,您只需要添加一些注释和配置,就可以为应用程序使用 Alibaba 的分布式解决方案,并使用 Alibaba 中间件构建自己的分布式系统。 Spring Cloud Alibaba 的功能: 1. 流控制和服务降级:支持 WebServlet,WebFlux,OpenFeign,RestTemplate,Dubbo 访问**限制**和**降级流**的功能。它可以在**运行时**通过控制台**实时修改限制和降级流的规则**,并且还支持监视限制和降级度量标准。 2. 服务注册和发现:可以注册服务,并且客户可以使用 Spring 托管的 bean(自动集成功能区)发现实例。 3. 分布式配置:支持分布式系统中的外部配置,配置更改时自动刷新。 4. Rpc 服务:扩展 Spring Cloud 客户端 RestTemplate 和 OpenFeign 以支持调用 Dubbo RPC 服务。 5. 事件驱动:支持构建与共享消息系统连接的高度可扩展的事件驱动微服务。 6. 分布式事务:支持高性能且易于使用的分布式事务解决方案。 7. 阿里云对象存储:大规模,安全,低成本,高度可靠的云存储服务。支持随时随地在任何应用程序中存储和访问任何类型的数据。 8. 阿里云 SchedulerX:准确,高度可靠,高可用性的计划作业调度服务,响应时间在几秒钟之内。 9. 阿里云短信:阿里云短信服务覆盖全球,可提供便捷,高效,智能的通信功能,帮助企业快速联系客户。 ### 学习内容 1. [创建代码父项目](#代码父项目); 2. [安装 Nacos](nacos-client/nacos-install.md); 3. [服务注册](nacos-client); 4. [统一配置中心](nacos-config-client); 5. [服务之间调用:RestTemplate](provider); 6. [服务之间调用:OpenFeign](openfeign-provider),还包含[微服务间网络问题及解决方法](openfeign-provider/network-issus.md); 7. [网关:Spring Cloud Gateway](gateway); ### 代码父项目 创建一个名为`spring-cloud-alibaba-learning` 的项目,不需要`src`目录,只包含一个`pom.xml`文件,维护依赖 Spring Cloud、Spring Cloud Alibaba 等相关组件的版本号和一些统一的配置。 之后创建的服务都在此项目下以子模块的方式创建。 #### pom.xml ```xml 4.0.0 com.duanjw spring-cloud-alibaba-learning pom 1.0.0 1.8 1.8 1.8 2.3.5.RELEASE Hoxton.SR8 2.2.3.RELEASE org.springframework.boot spring-boot-dependencies ${spring-boot.version} pom import org.springframework.cloud spring-cloud-dependencies ${spring-cloud.version} pom import com.alibaba.cloud spring-cloud-alibaba-dependencies ${spring-cloud-alibaba.version} pom import alimaven https://maven.aliyun.com/nexus/content/groups/public org.springframework.boot spring-boot-maven-plugin repackage ```