前言

该博客基于SpringCloud整合之Eureka

原理

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

配置

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

##服务端口号
server:
  port: 8100
spring:
  application:
    ##Eureka集群使用,名称必须一致
 name: baba-eureka
eureka:
  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

image.png

创建Eureka集群

新建一个项目 eureka-colony
并 copy eureka-serverpom 配置如下
image.png

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: 9100
spring:
  application:
    ##Eureka集群使用,名称必须一致
 name: baba-eureka
eureka:
  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
image.png
image.png
并访问http://localhost:8100/
http://localhost:9100/
image.png
image.png
至此eureka集群就部署完毕!如果需要加入多台只需要修改 application.yml 默认节点即可:

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

isWulongbo
228 声望26 粉丝

在人生的头三十年,你培养习惯,后三十年,习惯铸就你