前言
该博客基于 SpringCloud 整合之 Eureka
原理
互相注册,你中有我,我中有你。
配置
Eureka
server 的集群版,须要批改 register-with-eureka:
为 true
和 fetch-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
创立 Eureka 集群
新建一个我的项目 eureka-colony
并 copy eureka-server
的 pom
配置如下
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
8100
和 9100
:
并拜访 http://localhost:8100/ 和
http://localhost:9100/
至此 eureka 集群就部署结束!如果须要退出多台只须要批改 application.yml
默认节点即可:
defaultZone: http://${eureka.instance.hostname}:7100/eureka/,http://${eureka.instance.hostname}:8100/eureka/