一、前言说明
主要介绍以springboot搭建springcloud,其中sprinmgboot采用2.1.0.RELEASE,springcloud采用Greenwich.RELEASE。
springcloud是分布式微服务架构,拥有组件众多,后续章节主要介绍基本组件的集成和构造【能完成基本的分布式微服务架构的组件】。
搭建的组件
有Eureka Server,端口8083;
有Zuul【zuul】,端口8081;
有Eureka Client【EurekaClient2】,开启分布式,端口分别是7081、7082;
有Eureka Client【EurekaClient1】,端口分别是7080;
二、Eureka Server搭建
Pom.xml文件
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>Greenwich.RELEASE</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- 引入的eureka依赖 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
</dependencies>
<!-- 引入spring cloud的依赖,不能少,主要用来管理Spring Cloud生态各组件的版本 -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Greenwich.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Application.properties配置
server.port=8083
spring.application.name=eureka
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.server.enableSelfPreservation= false
eureka.server.renewal-percent-threshold=0.45
#驱逐下线的服务,间隔,5秒,默认是60
#org.springframework.cloud.netflix.eureka.server.EurekaServerConfigBean.evictionIntervalTimerInMs
eureka.server.evictionIntervalTimerInMs=5000
eureka.client.serviceUrl.defaultZone=http://localhost:8083/eureka/
application类的配置上**@EnableEurekaServer**注解即可。
这样,就搭建Eureka server完成。
三、Eureka Clientt搭建
这里只需要任意一个springboot项目增加一些配置就可以实现【保证版本匹配】。
Pom.xml文件配置
<!--springCloud启动依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter</artifactId>
</dependency>
<!--srpingCloud的eureka服务依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<!--srpingCloud的eureka服务注册依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
<version>2.1.0.RELEASE</version>
</dependency>
<!-- 引入spring cloud的依赖,不能少,主要用来管理Spring Cloud生态各组件的版本 -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Greenwich.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Application.properties配置
server.port=8085
spring.application.name=eurekaClient2
eureka.client.service-url.defaultZone= http://localhost:8083/eureka/
启动类增加**@EnableDiscoveryClient**注解即可。
这就是Eureka Client注册到Eureka Server。
备注说明:这是模拟分布式微服务【同一个服务拥有不同实例】