本案例主要讲解springcloud五大神兽的搭建,即
- Eureka(服务发现)
- Ribbon(客服端负载均衡)
- Hystrix(断路器)
- Zuul(服务网关)
- Spring Cloud Config(分布式配置)
所采用工具版本如下所示
- springcloud(Hoxton.SR3)
- springboot(2.2.5.RELEASE)
- eclipse(2020‑03)
- jdk(8u241)
- mysql(5.7.29)
废话不多说,直接上码!
等等...先不慌,在此之前,我们先创建一个working set(工作集)用来归集我们之后的项目,working set的出现主要是为了解决Package Explorer窗格中有很多工程时的一种拥挤场面,有了它,妈妈再也不用担心我找错项目了
在项目分区右键New一个Java Working Set,将其命名为Working Set,创建完成之后,应如下图所示
至此,我们的准备工作就完成了,后面就是你们最喜欢的有码互动环节了
我们需要创建一个父工程,这块的主要作用在可以控制jar的版本统一,其实后端的版本更迭对引入jar包的影响都还好,最重要是eclipse牛掰啊,相同的jar包不同的版本它会冲突,恶心的来了,笔者之前所在的公司前端当时引入了几百个js,从1.6到3.x,版本还挺齐全哈,然后上头说了句,都整合咯,就留一个,emmm...行吧,我走.所以,为了能让笔者可以健康的生存下去,我们来创建一个名称为microservice-parent的maven项目,注意了注意了,它的Packaging模式我们要选择Pom模式,如下所示
然后指定springcloud、springboot等插件版本,pom.xml文件如下所示
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.springcloud</groupId>
<artifactId>microservice-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<properties>
<!-- 字符集 -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<!-- jdk版本 -->
<java.version>1.8</java.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<!-- 小辣椒版本 -->
<lombok.version>1.18.12</lombok.version>
<!-- springcloud版本 -->
<springcloud.version>Hoxton.SR3</springcloud.version>
<!-- springboot版本 -->
<springboot.version>2.2.5.RELEASE</springboot.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${springcloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${springboot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.19</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.21</version>
</dependency>
</dependencies>
</dependencyManagement>
<modules>
<module>microservice-common</module>
<module>microservice-provider</module>
</modules>
</project>
写到这儿,项目雏形已经搞定,后面就是不断地往这个parent里面塞模块,为了让你们吃的比较开心,我会将后面的知识切的碎碎的,基本上每个章节都是一个模块