taotao-cloud (taotao云平台) 基于gradle8.7、jdk21, 支持graalvm21, 采用最新的spring 6.1.5、SpringBoot 3.2.4、SpringCloud 2023.0.1、SpringSecurity 6.2.3、Nacos 2.3.0、Mybatis-Plus 3.5.5等框架开发的微服务开发脚手架,包括大数据模块、微服务模块、前端模块。基于Spring Cloud Alibaba的微服务架构。提供技术框架的基础能力的封装,减少开发工作,只关注业务,包含了工作以来的工作总结和技术沉淀
taotao-cloud-project
taotao-cloud
(taotao云平台) 基于gradle8.7、jdk21, 支持graalvm21, 采用最新的spring 6.1.4、SpringBoot 3.2.4、SpringCloud 2023.0.0、SpringSecurity 6.2.2、Nacos 2.3、Mybatis-Plus 3.5.5、Redis 7等框架,开发的一款企业级微服务架构的云服务平台, 具有组件化、高性能、功能丰富的特点。代码简洁,架构清晰,组件可自由搭配,遵循SpringBoot编程思想,高度模块化和可配置化。
具备服务注册&发现、配置中心、服务限流、熔断降级、监控报警、多数据源、工作流、高亮搜索、定时任务、分布式缓存、分布式事务、分布式存储等功能,用于快速构建微服务项目。
目前支持Shell、Docker、Docker-compose、K8s、Github/Genkins ci/cd等多种部署方式,实现RBAC权限。 遵循阿里代码规范,采用restful设计风格及DDD(领域驱动设计)思想,代码简洁、架构清晰,非常适合作为基础框架使用。基于DDD(领域驱动设计)的轻量级快速开发框架,致力于企业技术架构的可沉淀和可传承,解决复杂业务场景的扩展问题
仓库的目的: 工作以来的技术总结和技术沉淀(业余时间进行开发) 仓库代码中不涉及公司任何业务代码
主要包括如下几部分
大数据模块 集成基于hadoop、hive、dolphinscheduler的离线批量日志数据处理和分析, 用户行为分析、推荐系统, flink、flink cdc、flink cep、spark streaming、presto、seatunnel流式处理计算框架, tidb、doris离线数据仓库, hudi、paimon数据湖等大数据处理
微服务模块 基于spring cloud alibaba微服务基础脚手架框架,用于基础服务的集成和跟业务无关的基础技术集成, 提供大量的starters组件作为技术底层支持,同时基础框架集中统一优化中间件相关服务及使用, 提供高性能,更方便的基础服务接口及工具,完全可以在实际工作中使用
saas商城模块 基于微服务模块构建的前后端分离的B2B2C商城系统, 支持商家入驻支, 持分布式部署, 使用github action CI/CD持续集成, 前后端均使用kubernetes部署, 各个API独立, 管理前端使用vue3 ant-design-vue开发, 移动端使用taro taro-ui开发, ** 系统全端全部代码开源**
sass商城多端前端模块 主要使用react antd进行前后端分离开发, 集成以taro, taro-ui, react native 为主的多端合一框架。
python模块 主要是集成了基于django的web开发, 基于scrapy爬虫开发, homeassistant 家庭自动化框架原理的分析
总之基于spring cloud alibaba的微服务架构 hadoop hive flink spark hive 等大数据处理实践。旨在提供技术框架的基础能力的封装,减少开发工作,只关注业务
Requires:
JAVA_VERSION >= 21 (推荐使用graalvm-jdk-21)
GRALE_VERSION >= 8.7
IDEA_VERSION >= 2023.4
Gradle:
dependencyManagement{
imports {
mavenBom "io.github.shuigedeng:taotao-cloud-dependencies:2024.04"
}
}
api "io.github.shuigedeng:taotao-cloud-starter-web"
Maven:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.github.shuigedeng</groupId>
<artifactId>taotao-cloud-dependencies</artifactId>
<version>2024.04</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>io.github.shuigedeng</groupId>
<artifactId>taotao-cloud-starter-web</artifactId>
</dependency>
</dependencies>
依赖 | 版本 |
---|---|
Spring | 6.1.5 |
Spring Boot | 3.2.4 |
Spring Cloud | 2023.0.1 |
Spring Cloud Alibaba | 2023.0.0.0-RC1 |
Spring Cloud Tencent | 1.13.1-2023.0.0 |
Spring Cloud huawei | 1.11.6-2023.0.x |
Seata | 2.0.0 |
Sentinel | 1.8.7 |
Spring-kafka | 3.1.3 |
Roketmq | 5.0.0 |
Spring Security | 6.2.3 |
Mybatis Plus | 3.5.5 |
Hutool | 6.0.0-M11 |
Mysql | 8.3.0 |
Querydsl | 5.1.0 |
Swagger | 3.0.0 |
Knife4j | 4.5.0 |
Redisson | 3.27.2 |
Lettuce | 6.3.1.RELEASE |
Elasticsearch | 8.11.5 |
Xxl-job | 2.4.0 |
EasyCaptcha | 1.6.2 |
Guava | 33.1.0-jre |
Grpc | 1.62.2 |
Arthas | 3.7.2 |
Dynamic-tp | 1.1.7-3.x |
Elasticjob | 3.0.4 |
Powerjob | 4.3.6 |
Forest | 1.5.36 |
Netty | 4.1.108.Final |
安卓:滔滔商城.apk IOS:滔滔商城.app(目前暂不可用) |
https://m.taotaocloud.top |
Spring Boot 3.2.4
、Spring Cloud 2023.0.0
、Spring Cloud Alibaba 2023.0.0.0-RC1
版本进行设计spring cloud alibaba Nacos
作为注册中心,实现多配置、分群组、分命名空间、多业务模块的注册和发现功能Spring Boot admin
监控各个独立服务的运行状态kafka、elk、prometheus、loki
等实时监控日志(请求日志、系统日志、数据变更日志、用户日志) 提供完善的企业微服务流量监控,日志监控能力spring cloud alibaba seata
分布式事务处理spring cloud alibaba Sentinel
实现业务熔断处理,避免服务之间出现雪崩skywalking、sleuth、zipkin
链路监控xxl-job、powerjob、quartz
等分布式定时任务处理Feign
和Dubbo
以及grpc
等模式支持内部调用,并且可以实现无缝切换Knife4j
,实现在线API文档的查看与调试,对swagger、knife4j二次封装,实现配置即文档Spring Boot Admin
来监控各个独立Service的运行状态。Mybatis-plus-generator
自动生成代码,提升开发效率,使用代码生成器可以一键生成 Java、Vue 前后端代码、SQL 脚本、接口文档,支持单表、树表、主子表;RocketMQ、kafka
,对业务进行异步处理react antd、taro
脚手架快速开放Mybatis Plus
、jpa
,实现saas多租户功能 可自定义每个租户的权限,提供透明化的多租户底层封装taro
方案,一份代码多终端适配,同时支持 APP、小程序、H5!Flowable
,支持动态表单、在线设计流程、会签 / 或签、多种任务分配方式MinIO
、阿里云、腾讯云、七牛云等云存储服务Docker、docker-compose、Kubernetes、Rancher2
支持 完善的微服务部署方案PS: 借鉴了其他开源项目
taotao-cloud-project -- 父项目
│ ├─taotao-cloud-bigdata -- 大数据模块
│ ├─taotao-cloud-custom -- 自定义模块
│ │ ├─taotao-cloud-sign-partterns -- 设计模式
│ │ ├─taotao-cloud-distributed-tx -- 手写分布式事务
│ │ ├─taotao-cloud-rpc -- 手写rpc框架
│ │ ├─taotao-cloud-raft -- raft实现
│ ├─taotao-cloud-microservice -- 微服务模块
│ │ ├─taotao-cloud-bff-api -- 基于bff架构的api模块
│ │ ├─taotao-cloud-bff-graphql -- 基于bff架构的graphql模块
│ │ ├─taotao-cloud-business -- 所有的业务模块
│ │ ├─taotao-cloud-data-sync -- 数据同步模块
│ │ ├─taotao-cloud-data-analysis -- 数据分析模块
│ │ ├─taotao-cloud-gateway -- 网关模块
│ │ ├─taotao-cloud-monitor -- 监控模块
│ │ ├─taotao-cloud-open-platform -- 开放平台模块
│ │ ├─taotao-cloud-recommend -- 推荐模块
│ │ ├─taotao-cloud-xxljob -- xxl-job模块
│ ├─taotao-cloud-plugin -- 插件模块
│ ├─taotao-cloud-python -- python模块
│ ├─taotao-cloud-scala -- scala模块
│ ├─taotao-cloud-warehouse -- 数仓模块
│ │ ├─taotao-cloud-offline-warehouse -- 离线仓库模块
│ │ ├─taotao-cloud-offline-weblog -- 离线日志分析模块
│ │ ├─taotao-cloud-realtime-datalake -- 准实时数据湖模块
│ │ ├─taotao-cloud-realtime-mall -- 商城日志分析模块
│ │ ├─taotao-cloud-realtime-recommend -- 实时推荐模块
│ │ ├─taotao-cloud-realtime-travel -- 实时旅游模块
欢迎提交 pull request
,注意对应提交对应 dev
分支
欢迎提交 issue ,请写清楚遇到问题的原因、开发环境、复显步骤。
不接受功能请求
的 issue
,功能请求可能会被直接关闭。
mail: [email protected] | QQ: 981376577
开发: 目前个人独立开放
+--- Project ':taotao-cloud-dependencies'
+--- Project ':taotao-cloud-starter-agent'
+--- Project ':taotao-cloud-starter-apt'
+--- Project ':taotao-cloud-starter-cache'
+--- Project ':taotao-cloud-starter-canal'
+--- Project ':taotao-cloud-starter-captcha'
+--- Project ':taotao-cloud-starter-common'
+--- Project ':taotao-cloud-starter-core'
+--- Project ':taotao-cloud-starter-bootstrap'
+--- Project ':taotao-cloud-starter-data'
+--- Project ':taotao-cloud-starter-dingtalk'
+--- Project ':taotao-cloud-starter-eventbus'
+--- Project ':taotao-cloud-starter-dubbo'
+--- Project ':taotao-cloud-starter-elk'
+--- Project ':taotao-cloud-starter-encrypt'
+--- Project ':taotao-cloud-starter-facility'
+--- Project ':taotao-cloud-starter-grpc'
+--- Project ':taotao-cloud-starter-idempotent'
+--- Project ':taotao-cloud-starter-idgenerator'
+--- Project ':taotao-cloud-starter-ip2region'
+--- Project ':taotao-cloud-starter-job'
+--- Project ':taotao-cloud-starter-laytpl'
+--- Project ':taotao-cloud-starter-limit'
+--- Project ':taotao-cloud-starter-lock'
+--- Project ':taotao-cloud-starter-logger'
+--- Project ':taotao-cloud-starter-mail'
+--- Project ':taotao-cloud-starter-metrics'
+--- Project ':taotao-cloud-starter-monitor'
+--- Project ':taotao-cloud-starter-mq'
+--- Project ':taotao-cloud-starter-office'
+--- Project ':taotao-cloud-starter-openai'
+--- Project ':taotao-cloud-starter-openapi'
+--- Project ':taotao-cloud-starter-openfeign'
+--- Project ':taotao-cloud-starter-oss'
+--- Project ':taotao-cloud-starter-pay'
+--- Project ':taotao-cloud-starter-pinyin'
+--- Project ':taotao-cloud-starter-prometheus'
+--- Project ':taotao-cloud-starter-retry'
+--- Project ':taotao-cloud-starter-rxjava'
+--- Project ':taotao-cloud-starter-security'
+--- Project ':taotao-cloud-starter-sensitive'
+--- Project ':taotao-cloud-starter-sms'
+--- Project ':taotao-cloud-starter-springdoc'
+--- Project ':taotao-cloud-starter-third-client'
+--- Project ':taotao-cloud-starter-threadpool'
+--- Project ':taotao-cloud-starter-tracing'
+--- Project ':taotao-cloud-starter-translation'
+--- Project ':taotao-cloud-starter-web'
+--- Project ':taotao-cloud-starter-websocket'
+--- Project ':taotao-cloud-starter-websocket-netty'
+--- Project ':taotao-cloud-starter-xss'
\--- Project ':taotao-cloud-starter-zookeeper'