前言

该博客基于SpringCloud整合之Eureka

原理

互相注册,你中有我,我中有你。

配置

Eureka server 的集群版,须要批改 register-with-eureka:truefetch-registry 为true来反对集群。并且互相注册的服务名称必须统一。
springcloud-eureka-server服务中批改配置文件 application.yml

##服务端口号server:  port: 8100spring:  application:    ##Eureka集群应用,名称必须统一 name: baba-eurekaeureka:  instance:    ##服务注册核心ip地址 hostname: 127.0.0.1  client:    serviceUrl:      ##注册地址#      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ defaultZone: http://${eureka.instance.hostname}:9100/eureka/    ##因为本人是注册核心,是否须要本人将本人注册到注册核心(集群的时候为true) register-with-eureka: true ##因为本人是注册核心,不须要去检索服务信息 fetch-registry: true

创立Eureka集群

新建一个我的项目 eureka-colony
并 copy eureka-serverpom 配置如下

pom.xml配置文件:

<?xml version="1.0" encoding="UTF-8"?><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> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.1.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.baba.wlb</groupId> <artifactId>colony</artifactId> <version>1.0-SNAPSHOT</version> <name>colony</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Finchley.M7</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <!--SpringCloud Eureka Server--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency> </dependencies> <!--留神:这里必须增加,否则各种依赖有问题--> <repositories> <repository> <id>spring-milestones</id> <name>Spring Milestones</name> <url>https://repo.spring.io/libs-milestone</url> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <excludes> <exclude> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </exclude> </excludes> </configuration> </plugin> </plugins> </build></project>

application.yml配置文件:

##服务端口号server:  port: 9100spring:  application:    ##Eureka集群应用,名称必须统一 name: baba-eurekaeureka:  instance:    ##服务注册核心ip地址 hostname: 127.0.0.1  client:    serviceUrl:      ##注册地址 defaultZone: http://${eureka.instance.hostname}:8100/eureka/    ##因为本人是注册核心,是否须要本人将本人注册到注册核心(集群的时候为true) register-with-eureka: true ##因为本人是注册核心,不须要去检索服务信息 fetch-registry: true

启动我的项目

别离启动 eureka-server 81009100


并拜访http://localhost:8100/和
http://localhost:9100/


至此eureka集群就部署结束!如果须要退出多台只须要批改 application.yml 默认节点即可:

defaultZone: http://${eureka.instance.hostname}:7100/eureka/,http://${eureka.instance.hostname}:8100/eureka/