# Spring-Cloud-Alibaba **Repository Path**: pu_zhi_qiang/spring-cloud-alibaba ## Basic Information - **Project Name**: Spring-Cloud-Alibaba - **Description**: 适合想要学习和了解spring cloud&alibaba cloud的同学 - **Primary Language**: Java - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 0 - **Created**: 2021-09-18 - **Last Updated**: 2025-09-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java, cloud ## README # Spring-Cloud-Alibaba 1. pujia.link 2. 996.icu 3. [![LICENSE](https://img.shields.io/badge/license-Anti%20996-blue.svg)](https://github.com/996icu/996.ICU/blob/master/LICENSE) #### 介绍 自己一手搭建,适合想要学习/了解cloud的初级中级同学 #### 软件架构 分布式微服务集群架构 #### Cloud版本说明 1. spring boot 2.3.2.RELEASE 2. spring cloud Hoxton.SR8 3. spring cloud alibaba 2.2.3.RELEASE 4. https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E 5. RocketMQ版本2.2.0 #### 产品版本声明 1. V0.0.1 基础的环境搭建以及功能集成,主要用途学习实践。 #### 安装教程 1. 本地启动的话你需要去下载nacos,sentinel,seata 2. 服务器的话那就是再服务器安装启动了 #### 使用说明 1. 先启动nacos 2. 启动sentinel【不做限流的话不用启动】 3. 启动seata【暂时好没接入】 4. nacos不启动的话服务会启不起来 #### 内部集成 1. NACOS:做服务注册中心,配置中心【8081【9091使用了动态刷新】,9091使用了配置中心】 2. RIBBON:做的负载均衡,用的是随机的默认的是轮询【gateway的配置文件写了】 3. SENTINEL:熔断获降级,限流暂时还没做到nacos中【案例8081,chat中】 4. GATEWAY:网关用来做服务转发没用nginx 5. SEATA:分布式事务管理,目前在9091 6. REDIS:用它来做分布式锁,具体实现在9091,9092【进阶版在common里Redisson做的】 7. MYSQL:用他来做数据持久化,具体实现在9091 8. MQ:集成了,rocketmq再【6000】和rabbitmq再【7000】 9. Sa-Token:权限认证框架【目前在9091,9092里面】实现了分布式的权限认证【目前仅写了token验证,权限还没集成。我觉得挺简单的没什么意思这个技术就集成到这里了暂时】 10. @ExceptionHandler全局异常管理,具体实现在8083 11. common模块加入全局的实体类校验工具类,具体实现在9091 12. 集成MongoDB,具体实现在9091 13. 集成消息中间件rabbitmq,具体实现在7000 14. 集成了最近很火爆的阿里巴巴的消息中间件,RockerMQ。与spring boot的整合在6001。main启动的方式在6000 15. 集成了open feign替代原来的resttemplate进行服务调用【具体实现在9091】 16. 集成了kafka【9094】 17. 集成easy excel,包括,common包提供ExcelUtil.java工具类 #### 小知识点 1. AOP:集成了 2. 自定义线程池:集成了 3. 定时任务:集成了 4. 锁:单服务的锁我觉得就没必要集成了等我把分布式锁精进一下再来集成【现在的方案就是用的redis的机制做的锁在工具包里】 5. 事务:我打算再精进一下再来集成【打算用阿里巴巴的seata来做】 6. publishPortalFactory.getPublishPortal("cat").drink();[一个有趣的写法] 7. spring提供的复制工具类BeanUtils.copyProperties(数据源, 目标数据); #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 版本所有 版权所有(c)<2021><所有渴望自由,热爱学习的同学> #### LICENSE 反996许可证版本1.0 在符合下列条件的情况下,特此免费向任何得到本授权作品的副本(包括源代码、文件和/或相关内容,以 下统称为“授权作品”)的个人和法人实体授权:被授权个人或法人实体有权以任何目的处置授权作品,包括 但不限于使用、复制,修改,衍生利用、散布,发布和再许可: 1. 个人或法人实体必须在许可作品的每个再散布或衍生副本上包含以上版权声明和本许可证,不得自行修 改。 2. 个人或法人实体必须严格遵守与个人实际所在地或个人出生地或归化地、或法人实体注册地或经营地( 以较严格者为准)的司法管辖区所有适用的与劳动和就业相关法律、法规、规则和标准。如果该司法管辖区 没有此类法律、法规、规章和标准或其法律、法规、规章和标准不可执行,则个人或法人实体必须遵守国际 劳工标准的核心公约。 3. 个人或法人不得以任何方式诱导、暗示或强迫其全职或兼职员工或其独立承包人以口头或书面形式同意 直接或间接限制、削弱或放弃其所拥有的,受相关与劳动和就业有关的法律、法规、规则和标准保护的权利 或补救措施,无论该等书面或口头协议是否被该司法管辖区的法律所承认,该等个人或法人实体也不得以任 何方法限制其雇员或独立承包人向版权持有人或监督许可证合规情况的有关当局报告或投诉上述违反许可证 的行为的权利。 该授权作品是"按原样"提供,不做任何明示或暗示的保证,包括但不限于对适销性、特定用途适用性和非侵 权性的保证。在任何情况下,无论是在合同诉讼、侵权诉讼或其他诉讼中,版权持有人均不承担因本软件或 本软件的使用或其他交易而产生、引起或与之相关的任何索赔、损害或其他责任。