# unbox-cloud **Repository Path**: lptnyy/unbox-cloud ## Basic Information - **Project Name**: unbox-cloud - **Description**: Spring Cloud Alibaba 最新搭建的开发脚手架,前端Vue。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2021-01-23 - **Last Updated**: 2022-05-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 基于 Spring Cloud Alibaba 的微服务架构 #### 业余时间搭建的私用框架需要就下载吧,碰到什么问题可以留言给我,我会尽快打补丁,感觉框架还可以麻烦点个赞。 ## 技术选型 #### Spring Boot #### Spring Cloud Alibaba #### GateWay - 对外提供API服务接口。 #### Ribbon - 提供本地调用服务,负载均衡的组件。 #### Feign - 是一种声明式、模板化的 HTTP 客户端。 #### Spring Cloud OAuth2 JWT - 鉴权以及授权,通过token的方式进行服务调用。 #### MyBatis-Plus - 国内很火的ORM框架。 #### Hikari - 号称性能最高的数据库连接池,Spring Boot 官方默认使用的数据库连接池。 #### Quartz - 定时器框架(集群)。 #### Redisson - 分布式锁 #### Nacos - 注册中心以及配置中心。 #### Sentinel - 熔断,降级,流量控制。 #### Seata - 阿里开源分布式事务管理。 #### Skywalking - 开源APM系统,微服务链路追踪。 #### Spring Boot Admin - 监控每一个服务的运行指标。 #### Mysql8.0 - 国内常用的数据库。 #### RabbitMQ - 消息队列。 #### Redis - 缓存,分布式锁。 #### 阿里OSS - 阿里文件系统,可以自提换其他。 #### 阿里日志 - 阿里日志系统,可以自替换成ELK。 #### Docker - 运行容器,可以替换其他,例如 Podman。 #### Rancher2(K8s)- 容器管理平台。 #### Jenkins - 代码自动编译,docker镜像打包以及上传,自动发布服务以及通知。 ## 展示图片 ![Image text](doc/images/架构图.png) ![Image text](doc/images/admin1.png) ![Image text](doc/images/admin2.png) ![Image text](doc/images/nacos.png) ![Image text](doc/images/sentinel.png) ![Image text](doc/images/QUARTZ.png) ![Image text](doc/images/back1.png) ![Image text](doc/images/back2.png) ![Image text](doc/images/back3.png) ![Image text](doc/images/back4.png) ## Source目录 #### doc      数据库脚本以及nacos服务配置文件 #### unbox-admin      Spring boot admin监控程序 #### unbox-auth      OAuth2 Token 授权服务 #### unbox-bff      BFF接口服务层 无代码 #### unbox-common      项目公共部分 #### unbox-gateway      网关服务 #### unbox-generate      代码生成器服务 #### unbox-quartz      定时器服务 #### unbox-server      业务服务 ####     unbox-admin-fegin      对外开放接口(服务之间调用) ####     unbox-admin-server      后台管理服务 ####     unbox-rabbit-fegin      对外开放接口(服务之间调用) ####     unbox-rabbit-server      消息队列消费者服务 #### vue-admin      Vue 后台管理页面 ## 项目启动文件 #### SpringAdminApplication   监控服务 #### AuthApplication    OAuth2服务 #### GateWayApplication    网关服务 #### GenerateApplication    生成器服务 #### QuartzApplication    定时器服务 #### AdminApplication    管理后台服务 #### RabbitApplication    消息队列消费者服务 #### 后台管理页面 cd vue-admin 执行npm install安装依赖库,npm run dev运行服务 ## 启动环境变量 #### Redis REDIS_IP RESIS_PORT RESIS_MAX_ACTIVE RESIS_MAX_WAIT RESIS_MAX_IDLE RESIS_MIN_IDLE RESIS_TIMEOUT #### Mysql MYSQL_URL MYSQL_USERNAME MYSQL_PASSWORD MYSQL_MINIMUM_IDLE MYSQL_MAXINUM_POOL_SIZE MYSQL_AUTO_COMMIT MYSQL_IDLE_TIMEOUT MYSQL_MAX_LIFETIME MYSQL_CONNECTION_TIMEOUT #### MyBatis TYPE-ALIASES-PACKAGE #### SENTINEL SENTINEL_HOST SENTINEL_PORT SENTINEL_CLIENTIP   指定客户端IP #### RabbitMQ RABBIT_HOST RABBIT_PORT RABBIT_USERNAME RABBIT_PASSWORD #### Swagger SWAGGER_TITLE SWAGGER_DESCRIPTION SWAGGER_NAME SWAGGER_URL SWAGGER_EMAIL SWAGGER_VERSION SWAGGER_PKG SWAGGER_ENABLE #### Spring Boot Admin Client SPRING_BOOT_ADMIN_URL 客户端配置监控服务地址 #### Nacos CONFIG_HOST CONFIG_PORT REGISTER_HOST REGISTER_PORT REGISTER_USERNAME REGISTER_PASSWORD #### 开发环境(视频)待续 #### 测试环境(视频)待续 #### 生产环境(视频)待续