gtiger666 / taotao-cloud-project

微服务开发脚手架,包括大数据模块、微服务模块、前端模块。基于Spring Cloud Alibaba的微服务架构。提供技术框架的基础能力的封装,减少开发工作,只关注业务,包含了工作以来的工作总结和技术沉淀

Home Page:https://blog.taotaocloud.top

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

taotao-cloud-project

License Downloads Downloads Downloads Downloads Downloads Downloads Downloads Downloads Downloads Downloads

1. 如果您觉得有帮助,请点右上角 "Star" 支持一下谢谢

taotao cloud project 仓库的目的: 工作以来的技术总结和技术沉淀(业余时间进行开发) 仓库代码中不涉及公司任何业务代码 主要包括如下几部分

  • 大数据模块 集成基于spark、hive的日志数据处理和分析, 用户行为分析、推荐系统, flink、spark streaming离线/流式计算, hadoop hive tidb离线数据仓库, apache hudi数据湖 presto计算框架等大数据处理

  • 微服务模块 基于spring cloud alibaba微服务基础脚手架框架,用于基础服务的集成和跟业务无关的基础技术集成, 提供大量的starters组件作为技术底层支持,同时基础框架集中统一优化中间件相关服务及使用, 提供高性能,更方便的基础服务接口及工具,完全可以在实际工作中使用

  • 滔滔商城模块 基于微服务模块构建的前后端分离的B2B2C商城系统, 支持商家入驻支, 持分布式部署, 使用github action CI/CD持续集成, 前后端均使用kubernetes部署, 各个API独立, 管理前端使用vue3 ant-design-vue开发, 移动端使用taro taro-ui开发, 系统全端全部代码开源

  • 前端模块 主要使用react antd进行前后端分离开发, 集成以taro, taro-ui, react native为主的多端合一框架。

  • python模块 主要是集成了基于django的web开发, 基于scrapy爬虫开发, homeassistant家庭自动化框架原理的分析

总之基于spring cloud alibaba的微服务架构 spark hive hudi flink等大数据处理实践。旨在提供技术框架的基础能力的封装,减少开发工作,只关注业务

2. spring cloud 微服务架构图

mark

3. spring cloud 微服务分层图

mark

4. dependencies

Requires:

JAVA_VERSION >= 17
GRALE_VERSION >= 7.3
IDEA_VERSION >= 2021.2.3

Gradle:

dependencyManagement{
  imports {
    mavenBom "io.github.shuigedeng:taotao-cloud-dependencies:2022.02"
  }
}

api "io.github.shuigedeng:taotao-cloud-starter-web"

Maven:

<dependentyManagement>
  <dependencies>
    <dependency>
      <groupId>io.github.shuigedeng</groupId>
      <artifactId>taotao-cloud-dependencies</artifactId>
      <version>2022.02</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependentyManagement>


<dependencies>
    <dependency>
      <groupId>io.github.shuigedeng</groupId>
      <artifactId>taotao-cloud-starter-web</artifactId>
    </dependency>
</dependencies>

5. 核心依赖

依赖 版本
Spring 5.3.15
Spring Boot 2.6.3
Spring Cloud 2021.0.1
Spring Cloud alibaba 2021.1
Spring Security OAuth2 5.4.5
Mybatis Plus 3.4.2
Hutool 5.5.9
Mysql 8.0.20
Querydsl 4.4.0
Swagger 3.3.0
Knife4j 3.0.2
Redisson 3.15.0
Lettuce 6.0.2.RELEASE
Elasticsearch 6.8.7
Xxl-job 2.2.0
EasyCaptcha 1.6.2
Guava 29.0-jre

6. 滔滔商城演示地址

移动端 ReactNative 小程序 H5
安卓:滔滔商城.apk
IOS:滔滔商城.app(目前暂不可用)

https://m.taotaocloud.top

7. 功能特点

  • 微服务技术框架: 前后端分离的企业级微服务架构、主要针对解决微服务和业务开发时常见的非功能性需求
  • 主体框架:采用最新的Spring Boot 2.5.5、Spring Cloud 2020.0.4、Spring Cloud Alibaba 2021.1版本进行设计
  • 统一注册:支持Nacos作为注册中心,实现多配置、分群组、分命名空间、多业务模块的注册和发现功能
  • 统一认证:统一Oauth2认证协议,采用jwt的方式,实现统一认证,完备的RBAC权限管理、数据权限处理、网关统一鉴权、灰度发布
  • 业务监控:利用Spring Boot admin 监控各个独立服务的运行状态
  • 日志分析:集成kafka、elk、prometheus实时监控日志(请求日志、系统日志、数据变更日志、用户日志)
  • 分布式事务:集成spring cloud alibaba seata分布式事务处理
  • 业务熔断:采用spring cloud alibaba Sentinel实现业务熔断处理,避免服务之间出现雪崩
  • 链路追踪:自定义traceId的方式,实现简单的链路追踪功能、集成skywalking、sleuth、zipkin链路监控
  • 分布式任务:集成xxl-job分布式定时任务处理
  • 内部调用:集成了Feign和Dubbo两种模式支持内部调用,并且可以实现无缝切换
  • 身份注入:通过注解的方式,实现用户登录信息的快速注入
  • 在线文档:通过接入Knife4j,实现在线API文档的查看与调试
  • 消息中心:集成消息中间件RocketMQ、kafka,对业务进行异步处理
  • 业务分离:采用前后端分离的框架设计,前端采用react antd脚手架快速开放
  • 多租户功能:集成Mybatis Plus、jpa,实现saas多租户功能
  • 容器化支持: Docker、Kubernetes、Rancher2 支持
  • webflux支持: lambda、stream api、webflux 的生产实践
  • 开放平台: 提供应用管理,方便第三方系统接入,支持多租户(应用隔离)
  • 组件化: 引入组件化的**实现高内聚低耦合并且高度可配置化
  • 代码规范: 注重代码规范,严格控制包依赖

PS: 借鉴了其他开源项目

8. 模块说明

taotao-cloud-project -- 父项目
│  ├─taotao-cloud-bigdata -- 大数据模块
│  ├─taotao-cloud-container -- 容器模块
│  │  ├─taotao-cloud-docker -- docker模块
│  │  ├─taotao-cloud-kubernetes -- kubernetes模块
│  ├─taotao-cloud-dependencies -- 全局公共依赖模块
│  ├─taotao-cloud-java -- java模块
│  │  ├─taotao-cloud-concurrent  -- concurrent模块
│  │  ├─taotao-cloud-javaee -- javaee模块
│  │  ├─taotao-cloud-javase -- javase模块
│  │  ├─taotao-cloud-javaweb -- javaweb模块
│  ├─taotao-cloud-microservice -- 微服务业务模块
│  │  ├─taotao-cloud-admin  -- admin模块
│  │  ├─taotao-cloud-bullein  -- 公告模块
│  │  ├─taotao-cloud-config  -- 通用配置模块
│  │  ├─taotao-cloud-customer  -- 客服模块
│  │  ├─taotao-cloud-distribution  -- 营销/分销模块
│  │  ├─taotao-cloud-front  -- 前端pc模块
│  │  ├─taotao-cloud-gateway  -- 网关模块
│  │  ├─taotao-cloud-graphql  -- graphql模块
│  │  ├─taotao-cloud-member  -- 会员模块
│  │  ├─taotao-cloud-message  -- 消息模块
│  │  ├─taotao-cloud-auth  -- oauth2认证模块
│  │  ├─taotao-cloud-opencv  -- opencv模块
│  │  ├─taotao-cloud-operation  -- 运营模块
│  │  ├─taotao-cloud-order  -- 订单模块
│  │  ├─taotao-cloud-payment -- 支付模块
│  │  ├─taotao-cloud-goods  -- 商品模块
│  │  ├─taotao-cloud-promotion  -- 促销模块
│  │  ├─taotao-cloud-recommend  -- 推荐模块
│  │  ├─taotao-cloud-report  -- 报表模块
│  │  ├─taotao-cloud-search  -- 搜索模块
│  │  ├─taotao-cloud-settlement  -- 售后模块
│  │  ├─taotao-cloud-starter  -- starter组件模块
│  │  ├─taotao-cloud-stock  -- 库存模块
│  │  ├─taotao-cloud-store  -- 店铺模块
│  │  ├─taotao-cloud-sys  -- 系统模块
│  │  ├─taotao-cloud-websocket  -- websocket模块
│  │  ├─taotao-cloud-xxljob  -- xxl-job模块
│  ├─taotao-cloud-netty -- netty模块
│  ├─taotao-cloud-offline -- 离线数据分析模块
│  │  ├─taotao-cloud-offline-warehouse  -- 数据仓库模块
│  │  ├─taotao-cloud-offline-weblog -- web日志分析模块
│  ├─taotao-cloud-opencv -- opencv模块
│  ├─taotao-cloud-plugin -- 插件模块
│  │  ├─taotao-cloud-gradle-plugin  -- gradle-plugin模块
│  │  ├─taotao-cloud-idea-plugin -- idea-plugin模块
│  ├─taotao-cloud-processor -- java processor模块
│  ├─taotao-cloud-python -- python模块
│  │  ├─taotao-cloud-django  -- django模块
│  │  ├─taotao-cloud-oldboy  -- oldboy模块
│  │  ├─taotao-cloud-scrapy  -- scrapy模块
│  │  ├─taotao-cloud-spider  -- spider模块
│  │  ├─taotao-cloud-tornado  -- tornado模块
│  ├─taotao-cloud-reactive -- spring web响应式模块
│  ├─taotao-cloud-realtime -- 实时数据分析模块
│  │  ├─taotao-cloud-realtime-datalake  -- 数据湖模块
│  │  ├─taotao-cloud-realtime-mall -- 商城日志分析模块
│  │  ├─taotao-cloud-realtime-recommend -- 实时推荐模块
│  │  ├─taotao-cloud-realtime-travel -- 实时旅游模块
│  ├─taotao-cloud-rpc -- rpc模块
│  ├─taotao-cloud-scala -- scala模块
│  ├─taotao-cloud-spring-native -- spring native模块
│  ├─taotao-cloud-spring-source -- spring 源码模块
│  ├─taotao-cloud-spring-standlone -- 单项目模块
│  ├─taotao-cloud-web -- 前端模块
│  │  ├─taotao-cloud-datav -- 大屏展示模块
│  │  ├─taotao-cloud-front -- 商城PC端模块
│  │  ├─taotao-cloud-mall  -- 商城移动端模块
│  │  ├─taotao-cloud-manager  -- 平台管理端模块
│  │  ├─taotao-cloud-merchant  -- 商户管理端模块
│  │  ├─taotao-cloud-open -- 开放平台模块

9.开源共建

  1. 欢迎提交 pull request,注意对应提交对应 dev 分支

  2. 欢迎提交 issue,请写清楚遇到问题的原因、开发环境、复显步骤。

  3. 不接受功能请求issue,功能请求可能会被直接关闭。

  4. mail: 981376577@qq.com | QQ: 981376577

10.参与贡献

开发: 目前个人独立开放

11.项目截图

调度任务中心 nacos服务注册
granfana页面 prometheus页面
skywalking页面 sentinel页面
kibana页面 zipkin页面
springadmin页面 knife4j页面
swagger页面 arthas页面

About

微服务开发脚手架,包括大数据模块、微服务模块、前端模块。基于Spring Cloud Alibaba的微服务架构。提供技术框架的基础能力的封装,减少开发工作,只关注业务,包含了工作以来的工作总结和技术沉淀

https://blog.taotaocloud.top

License:Apache License 2.0


Languages

Language:Java 30.4%Language:JavaScript 22.9%Language:HTML 17.8%Language:Vue 8.7%Language:TypeScript 8.0%Language:Python 6.1%Language:CSS 2.4%Language:Scala 0.9%Language:Less 0.9%Language:Shell 0.7%Language:SCSS 0.3%Language:FreeMarker 0.2%Language:HiveQL 0.2%Language:PLpgSQL 0.2%Language:Dockerfile 0.1%Language:Lua 0.0%Language:Objective-C 0.0%Language:Go 0.0%Language:EJS 0.0%Language:Batchfile 0.0%Language:TSQL 0.0%Language:Starlark 0.0%Language:Ruby 0.0%Language:Makefile 0.0%