# crazy-springcloud **Repository Path**: XiaoFeiFei112/crazy-springcloud ## Basic Information - **Project Name**: crazy-springcloud - **Description**: 本脚手架,侧重于开发。 侧重于基础。 侧重于学习。 可以基于此脚手架,开始springcloud的生产工程搭建。 但是,此脚手架,不是侧重于监控,那更多是生产环境的事情。 凡是与开发有关的部分,后续会逐步的增加和完善。 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 307 - **Created**: 2020-02-28 - **Last Updated**: 2022-05-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 疯狂创客圈 Java 高并发【 亿级流量聊天室实战】实战系列 【[博客园总入口](https://www.cnblogs.com/crazymakercircle/p/9904544.html) 】 架构师成长+面试必备之 高并发基础书籍 【[Netty Zookeeper Redis 高并发实战](https://www.cnblogs.com/crazymakercircle/p/11397271.html) 】 ------ # 前言 **Crazy-SpringCloud 微服务脚手架 &视频介绍**: Crazy-SpringCloud 微服务脚手架,是为 Java 微服务开发 入门者 准备的 学习和开发脚手架。并配有一系列的使用教程和视频,大致如下: **高并发 环境搭建** 图文教程和演示视频,陆续上线: | 中间件 | 链接地址 | | ------------------------------- | ------------------------------------------------------------ | | Linux Redis 安装(带视频) | [Linux Redis 安装(带视频)](https://www.cnblogs.com/crazymakercircle/p/11985983.html) | | Linux Zookeeper 安装(带视频) | [Linux Zookeeper 安装, 带视频](https://www.cnblogs.com/crazymakercircle/p/12006500.html) | | Windows Redis 安装(带视频) | [Windows Redis 安装(带视频) ](https://www.cnblogs.com/crazymakercircle/p/11973314.html) | | RabbitMQ 离线安装(带视频) | [RabbitMQ 离线安装(带视频) ](https://www.cnblogs.com/crazymakercircle/p/11992763.html) | | ElasticSearch 安装, 带视频 | [ElasticSearch 安装, 带视频 ](https://www.cnblogs.com/crazymakercircle/p/12001292.html) | | Nacos 安装(带视频) | [Nacos 安装(带视频) ](https://www.cnblogs.com/crazymakercircle/p/11992539.html) | **Crazy-SpringCloud 微服务脚手架** 图文教程和演示视频,陆续上线: | 组件 | 链接地址 | | --------------------------------------------- | ------------------------------------------------------------ | | Eureka | [Eureka 入门,带视频](https://www.cnblogs.com/crazymakercircle/p/12043538.html) | | SpringCloud Config | [springcloud Config 入门,带视频](https://www.cnblogs.com/crazymakercircle/p/12043604.html) | | spring security | [spring security 原理+实战](https://www.cnblogs.com/crazymakercircle/p/12040402.html) | | Spring Session | [SpringSession 独立使用](https://www.cnblogs.com/crazymakercircle/p/12038664.html) | | **分布式 session 基础** | [RedisSession (自定义)](https://www.cnblogs.com/crazymakercircle/p/12038208.html) | | **重点: springcloud 开发脚手架** | [springcloud 开发脚手架](https://www.cnblogs.com/crazymakercircle/p/12041568.html) | | SpingSecurity + SpringSession 死磕 (写作中) | [SpingSecurity + SpringSession 死磕](https://www.cnblogs.com/crazymakercircle/p/12037584.html) | 小视频以及所需工具的**百度网盘链接**,请参见 [疯狂创客圈 高并发社群 博客](https://www.cnblogs.com/crazymakercircle/p/9904544.html) ## 1 Crazy-SpringCloud 微服务脚手架之: Spring Cloud 、Spring Boot版本选项 Spring Cloud是基于Spring Boot构建的,其版本也是有对应关系的,在构建项目时,注意版本之间的对应关系,版本对不上会有问题。 | Spring Cloud | Spring Boot | | ------------ | ----------- | | Camden | 1.4.x | | Dalston | 1.5.x | | Edgware | 1.5.x | | Finchley | 2.0.x | Finchley依赖2.0.x版本的Spring Boot,而2.0.x版本的Spring Boot依赖Spring Framework 5。 ``` org.springframework.cloud spring-cloud-dependencies Finchley.RELEASE pom import org.springframework.boot spring-boot-dependencies 2.0.8.RELEASE import pom ``` ## 后台界面 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200121144259991.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NyYXp5bWFrZXJjaXJjbGU=,size_16,color_FFFFFF,t_70) ## 2 {Crazy-SpringCloud 微服务开发脚手架} 功能介绍 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20191214234036756.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NyYXp5bWFrZXJjaXJjbGU=,size_16,color_FFFFFF,t_70) 本脚手架,侧重于开发,而不是侧重于 生产环境的监控。凡是与开发有关的部分,后续会逐步的增加和完善。 ## 4. 模块规范说明 ``` crazymaker-server -- 父项目,公共依赖 │ ├─cloud-center -- 基础服务中心 │ │ ├─cloud-eureka -- 注册中心 │ │ ├─cloud-config -- 配置中心 │ │ ├─cloud-zuul -- 网关服务 │ │ ├─cloud-zipkin -- 监控中心 │ ├─crazymaker-base -- 公共依赖 │ │ ├─base-common -- 普通的公共依赖,如utils 通用方法 │ │ ├─base-runtime -- 运行时公共依赖,用运行时的 一些通用Bean的启动 │ ├─crazymaker-uaa -- 用户微服务 │ │ ├─uaa-api -- 用户DTO、Constants 等 │ │ ├─uaa-client -- 用户服务的 Feign 远程调用模块 │ │ ├─uaa-provider -- 用户服务核心实现,包含controller层、service层、dao层的代码实现 │ ├─crazymaker-seckill --秒杀微服务 │ │ ├─seckill-api -- 秒杀 DTO、Constants 等 │ │ ├─seckill-client -- 秒杀服务的 Feign 远程调用模块 │ │ ├─seckill-provider --秒杀服务核心实现,包含controller层、service层、dao层的代码实现 ``` # 5.部署流程 - 操作系统: 建议使用 centos 或者其他 linux 。 如果个人学习在windows环境,强烈建议使用 虚拟机 。 - 中间件: 依赖于Redis、Zookeeper、RabbitMQ,启动服务前请安装和启动好 Mysql 、Redis、Zookeeper、RabbitMQ。后面三个软件的安装,请参考以下教程和视屏: **Redis:** [Linux Redis 安装(网盘中带离线工具、实战视频](https://www.cnblogs.com/crazymakercircle/p/11985983.html) **Zookeeper:** [Linux Zookeeper 安装(带视频)](https://www.cnblogs.com/crazymakercircle/p/12006500.html) **RabbitMQ:** [Linux RabbitMQ 安装(网盘中带离线工具、实战视频](https://www.cnblogs.com/crazymakercircle/p/11992763.html) - 数据库 可以是 Mysql 、oracle 或者其他 JPA 支持的数据库。 微服务中配置了自动建表。 所以,没有提供专门的sql脚本。 例如: ``` spring: application: name: uaa-provider jpa: #配置自动建表:updata:没有表新建,有表更新操作,控制台显示建表语句 hibernate: ddl-auto: update ``` - 部署脚本 提供了linux系统的启动脚本 start.sh, 需要适当的调整一些参数。 具体的部署,请参见 {疯狂创客圈} 脚手架部署视频 # 6.端口配置 | 组件 | 端口 | | | ------------------ | ---- | ------------------------------------------------------------ | | Redis | 6379 | [Linux Redis 安装(带视频)](https://www.cnblogs.com/crazymakercircle/p/11985983.html) | | zookeeper | 2181 | [Linux Zookeeper 安装, 带视频](https://www.cnblogs.com/crazymakercircle/p/12006500.html) | | myql | 3306 | | | cloud-eureka | 7777 | [Eureka 入门,带视频](https://www.cnblogs.com/crazymakercircle/p/12043538.html) | | cloud-config | 7788 | | | cloud-zuul | 7799 | | | crazymaker-uaa | 7702 | | | crazymaker-seckill | 7701 | | # 7.环境变量 通过环境变量的使用,使得各种服务器的主机切换,多了一层灵活性。而且,可以做到不用明文编码一些密码之类的敏感信息,多了一层安全性。 配置文件中,会涉及到以下环境变量: ``` export DB_HOST=192.168.233.128 export REDIS_HOST=192.168.233.128 export EUREKA_ZONE_HOST=192.168.233.128 export RABBITMQ_HOST=192.168.233.128 export ZOOKEEPER_HOSTS=192.168.233.128 ``` 这些环境变量,包含 Eureka、Redis、RabbitMq 等服务器的IP地址。如果在bootstrap.yml中要对 Eureka 进行配置,可以使用环境变量 EUREKA_ZONE_HOST ,具体如下: ``` eureka: client: serviceUrl: defaultZone: http://${EUREKA_ZONE_HOST:localhost}:7777/eureka/ ``` 上面的写法,通过${EUREKA_ZONE_HOST} 表达式去获取Eureka的IP地址。并且,环境变量后面跟着一个冒号和一个默认值,表示如果当前系统环境变量中 EUREKA_ZONE_HOST 为空时,就会使用默认值 localhost 来填充了。 总之,通过环境变量的使用,使得各种服务器的主机切换,多了一层灵活性。而且,可以做到不用明文编码一些密码之类的敏感信息,多了一层安全性。 # 8.{Crazy-SpringCloud 微服务开发脚手架} 部署视频 | 组件 | 链接地址 | | --------------------------------------------- | ------------------------------------------------------------ | | Eureka | [Eureka 入门,带视频](https://www.cnblogs.com/crazymakercircle/p/12043538.html) | | SpringCloud Config | [springcloud Config 入门,带视频](https://www.cnblogs.com/crazymakercircle/p/12043604.html) | | spring security | [spring security 原理+实战](https://www.cnblogs.com/crazymakercircle/p/12040402.html) | | Spring Session | [SpringSession 独立使用](https://www.cnblogs.com/crazymakercircle/p/12038664.html) | | **分布式 session 基础** | [RedisSession (自定义)](https://www.cnblogs.com/crazymakercircle/p/12038208.html) | | **重点: springcloud 开发脚手架** | [springcloud 开发脚手架](https://www.cnblogs.com/crazymakercircle/p/12041568.html) | | SpingSecurity + SpringSession 死磕 (写作中) | [SpingSecurity + SpringSession 死磕](https://www.cnblogs.com/crazymakercircle/p/12037584.html) | | crazymaker-uaa | ....ing | | crazymaker-seckill | ....ing | | cloud-zuul | ....ing | 小视频以及所需工具的**百度网盘链接**,请参见 [疯狂创客圈 高并发社群 博客](https://www.cnblogs.com/crazymakercircle/p/9904544.html) 具体,请关注 **Java 高并发研习社群** 【[博客园 总入口](https://www.cnblogs.com/crazymakercircle/p/9904544.html) 】 --- 最后,介绍一下疯狂创客圈:**疯狂创客圈,一个Java 高并发研习社群** 【[博客园 总入口](https://www.cnblogs.com/crazymakercircle/p/9904544.html) 】 疯狂创客圈,倾力推出:**面试必备 + 面试必备 + 面试必备** 的基础原理+实战 书籍 《[Netty Zookeeper Redis 高并发实战](https://www.cnblogs.com/crazymakercircle/p/11397271.html)》 ![img](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9pbWcyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTQ4NTM5OC8yMDE5MDgvMTQ4NTM5OC0yMDE5MDgyMjIyNTE1NjQyNy05NTY0MjQxMjQuanBn?x-oss-process=image/format,png) ------ ## 疯狂创客圈 Java 死磕系列 + **Java (Netty) 聊天程序【 亿级流量】实战 开源项目实战** - **Netty 源码、原理、JAVA NIO 原理** - **Java 面试题 一网打尽** - 疯狂创客圈 [**【 博客园 总入口 】**](https://www.cnblogs.com/crazymakercircle/p/9904544.html)