SpringCloud 脚手架
本文内容纲要:
-价值连城:2021春招月薪过5万面试题总系列
-万字长文:疯狂创客圈springCloud高并发系列
-推荐:地表最强开发环境系列
-推荐:springCloud微服务系列
-1SpringCloud、SpringBoot版本选项
-2{Crazy-SpringCloud微服务开发脚手架}功能介绍
-4.模块规范说明
-5.部署流程
-6.端口配置
-7.环境变量
文章很长,建议收藏起来,慢慢读!疯狂创客圈为小伙伴奉上以下珍贵的学习资源:
- 疯狂创客圈经典图书:《NettyZookeeperRedis高并发实战》面试必备+大厂必备+涨薪必备
- 疯狂创客圈经典图书:《SpringCloud、Nginx高并发核心编程》面试必备+大厂必备+涨薪必备
- 资源宝库:Java程序员必备网盘资源大集合价值>1000元随便取GO->【博客园总入口】
- 独孤九剑:Netty灵魂实验:本地100W连接高并发实验,瞬间提升Java内力
价值连城:2021春招月薪过5万面试题总系列
阿里、京东、美团、头条....随意挑、横着走!!! |
---|
https://www.cnblogs.com/crazymakercircle/p/14365820.html |
https://www.cnblogs.com/crazymakercircle/p/14366081.html |
[https://www.cnblogs.com/crazymakercircle/p/14323919.html] |
https://www.cnblogs.com/crazymakercircle/p/14367101.html |
https://www.cnblogs.com/crazymakercircle/p/14367907.html |
具体.....请参见【疯狂创客圈高并发总目录】 |
万字长文:疯狂创客圈springCloud高并发系列
sentinel(史上最全+入门教程) |
Webflux(史上最全) |
具体.....请参见【疯狂创客圈高并发总目录】 |
推荐:地表最强开发环境系列
工欲善其事必先利其器 |
---|
地表最强开发环境:vagrant+java+springcloud+redis+zookeeper镜像下载(&制作详解) |
地表最强热部署:javaSpringBootSpringCloud热部署热加载热调试 |
地表最强发请求工具(再见吧,PostMan):IDEAHTTPClient(史上最全) |
地表最强PPT小工具:屌炸天,像写代码一样写PPT |
无编程不创客,无编程不创客,一大波编程高手正在疯狂创客圈交流、学习中!找组织,GO |
推荐:springCloud微服务系列
推荐阅读 |
---|
nacos实战(史上最全) |
sentinel(史上最全+入门教程) |
springcloud+webflux高并发实战 |
Webflux(史上最全) |
SpringCloudgateway(史上最全) |
无编程不创客,无编程不创客,一大波编程高手正在疯狂创客圈交流、学习中!找组织,GO |
1SpringCloud、SpringBoot版本选项
SpringCloud是基于SpringBoot构建的,其版本也是有对应关系的,在构建项目时,注意版本之间的对应关系,版本对不上会有问题。
SpringCloud | SpringBoot |
---|---|
Camden | 1.4.x |
Dalston | 1.5.x |
Edgware | 1.5.x |
Finchley | 2.0.x |
Finchley依赖2.0.x版本的SpringBoot,而2.0.x版本的SpringBoot依赖SpringFramework5。
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Finchley.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.0.8.RELEASE</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>
2{Crazy-SpringCloud微服务开发脚手架}功能介绍
本脚手架,侧重于开发,而不是侧重于生产环境的监控。凡是与开发有关的部分,后续会逐步的增加和完善。
4.模块规范说明
crazymaker-server--父项目,公共依赖
│├─cloud-center--基础服务中心
││├─cloud-eureka--注册中心
││├─cloud-config--配置中心
││├─cloud-zuul--网关服务
││├─cloud-zipkin--监控中心
│├─crazymaker-base--公共依赖
││├─base-common--普通的公共依赖,如utils通用方法
││├─base-runtime--运行时公共依赖,用运行时的一些通用Bean的启动
│├─crazymaker-user--用户微服务
││├─user-api--用户DTO、Constants等
││├─user-client--用户服务的Feign远程调用模块
││├─user-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:LinuxRedis安装(网盘中带离线工具、实战视频
Zookeeper:LinuxZookeeper安装(带视频)
RabbitMQ:LinuxRabbitMQ安装(网盘中带离线工具、实战视频
- 数据库
可以是Mysql、oracle或者其他JPA支持的数据库。微服务中配置了自动建表。所以,没有提供专门的sql脚本。例如:
spring:
application:
name:user-provider
jpa:#配置自动建表:updata:没有表新建,有表更新操作,控制台显示建表语句
hibernate:
ddl-auto:update
- 部署脚本
提供了linux系统的启动脚本start.sh,需要适当的调整一些参数。具体的部署,请参见{疯狂创客圈}脚手架部署视频
6.端口配置
组件 | 端口 | |
---|---|---|
Redis | 6379 | LinuxRedis安装(带视频) |
zookeeper | 2181 | LinuxZookeeper安装,带视频 |
myql | 3306 | |
cloud-eureka | 7777 | Eureka入门,带视频 |
cloud-config | 7788 | |
cloud-zuul | 7799 | |
crazymaker-user | 7702 | |
crazymaker-seckill | 7701 |
7.环境变量
通过环境变量的使用,使得各种服务器的主机切换,多了一层灵活性。而且,可以做到不用明文编码一些密码之类的敏感信息,多了一层安全性。
配置文件中,会涉及到以下环境变量:
exportDB_HOST=192.168.233.128
exportREDIS_HOST=192.168.233.128
exportEUREKA_ZONE_HOST=192.168.233.128
exportRABBITMQ_HOST=192.168.233.128
exportZOOKEEPER_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来填充了。
总之,通过环境变量的使用,使得各种服务器的主机切换,多了一层灵活性。而且,可以做到不用明文编码一些密码之类的敏感信息,多了一层安全性。
最后,介绍一下疯狂创客圈:疯狂创客圈,一个Java高并发研习社群【博客园总入口】
疯狂创客圈,倾力推出:面试必备+面试必备+面试必备的基础原理+实战书籍《NettyZookeeperRedis高并发实战》
本文内容总结:价值连城:2021春招月薪过5万面试题总系列,万字长文:疯狂创客圈springCloud高并发系列,推荐:地表最强开发环境系列,推荐:springCloud微服务系列,1SpringCloud、SpringBoot版本选项,2{Crazy-SpringCloud微服务开发脚手架}功能介绍,4.模块规范说明,5.部署流程,6.端口配置,7.环境变量,
原文链接:https://www.cnblogs.com/crazymakercircle/p/12041568.html