文章很长,建议收藏起来,慢慢读! 疯狂创客圈为小伙伴奉上以下珍贵的学习资源:
- 疯狂创客圈 经典图书 : 《Netty Zookeeper Redis 高并发实战》 面试必备 + 大厂必备 + 涨薪必备
- 疯狂创客圈 经典图书 : 《SpringCloud、Nginx高并发核心编程》 面试必备 + 大厂必备 + 涨薪必备
- 资源宝库:Java程序员必备 网盘资源大集合 价值>1000元 随便取 GO->【博客园总入口 】
- 独孤九剑:Netty灵魂实验 : 本地 100W连接 高并发实验,瞬间提升Java内力
价值连城:2021春招月薪过5万 面试题 总系列
搞定下面这些面试题,2021春招月薪过5万(猛!) | 阿里、京东、美团、头条.... 随意挑、横着走!!! |
---|---|
Java基础 | |
1: JVM面试题(史上最强、持续更新、吐血推荐) | https://www.cnblogs.com/crazymakercircle/p/14365820.html |
2:Java基础面试题(史上最全、持续更新、吐血推荐) | https://www.cnblogs.com/crazymakercircle/p/14366081.html |
3:死锁面试题(史上最强、持续更新) | [https://www.cnblogs.com/crazymakercircle/p/14323919.html] |
4:设计模式面试题 (史上最全、持续更新、吐血推荐) | https://www.cnblogs.com/crazymakercircle/p/14367101.html |
5:架构设计面试题 (史上最全、持续更新、吐血推荐) | https://www.cnblogs.com/crazymakercircle/p/14367907.html |
还有 10 几篇 篇价值连城 的面试题 | 具体..... 请参见【 疯狂创客圈 高并发 总目录 】 |
万字长文: 疯狂创客圈 springCloud 高并发系列
springCloud 高质量 博文 | |
---|---|
nacos 实战(史上最全) | sentinel (史上最全+入门教程) |
springcloud + webflux 高并发实战 | Webflux(史上最全) |
SpringCloud gateway (史上最全) | |
还有 10 几篇 万字长文 的高质量 博文 | 具体..... 请参见【 疯狂创客圈 高并发 总目录 】 |
推荐: 地表最强 开发环境 系列
工欲善其事 必先利其器 |
---|
地表最强 开发环境: vagrant+java+springcloud+redis+zookeeper镜像下载(&制作详解) |
地表最强 热部署:java SpringBoot SpringCloud 热部署 热加载 热调试 |
地表最强 发请求工具(再见吧, PostMan ):IDEA HTTP Client(史上最全) |
地表最强 PPT 小工具: 屌炸天,像写代码一样写PPT |
无编程不创客,无编程不创客,一大波编程高手正在疯狂创客圈交流、学习中! 找组织,GO |
推荐: springCloud 微服务 系列
推荐阅读 |
---|
nacos 实战(史上最全) |
sentinel (史上最全+入门教程) |
springcloud + webflux 高并发实战 |
Webflux(史上最全) |
SpringCloud gateway (史上最全) |
无编程不创客,无编程不创客,一大波编程高手正在疯狂创客圈交流、学习中! 找组织,GO |
1 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。
<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: Linux Redis 安装(网盘中带离线工具、实战视频
Zookeeper: Linux Zookeeper 安装(带视频)
RabbitMQ: Linux RabbitMQ 安装(网盘中带离线工具、实战视频
- 数据库
可以是 Mysql 、oracle 或者其他 JPA 支持的数据库。 微服务中配置了自动建表。 所以,没有提供专门的sql脚本。 例如:
spring:
application:
name: user-provider
jpa: #配置自动建表:updata:没有表新建,有表更新操作,控制台显示建表语句
hibernate:
ddl-auto: update
- 部署脚本
提供了linux系统的启动脚本 start.sh, 需要适当的调整一些参数。 具体的部署,请参见 {疯狂创客圈} 脚手架部署视频
6.端口配置
组件 | 端口 | |
---|---|---|
Redis | 6379 | Linux Redis 安装(带视频) |
zookeeper | 2181 | Linux Zookeeper 安装, 带视频 |
myql | 3306 | |
cloud-eureka | 7777 | Eureka 入门,带视频 |
cloud-config | 7788 | |
cloud-zuul | 7799 | |
crazymaker-user | 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 来填充了。
总之,通过环境变量的使用,使得各种服务器的主机切换,多了一层灵活性。而且,可以做到不用明文编码一些密码之类的敏感信息,多了一层安全性。
最后,介绍一下疯狂创客圈:疯狂创客圈,一个Java 高并发研习社群 【博客园 总入口 】
疯狂创客圈,倾力推出:面试必备 + 面试必备 + 面试必备 的基础原理+实战 书籍 《Netty Zookeeper Redis 高并发实战》