eureka-server入门搭建/集群搭建
Posted 好大的月亮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了eureka-server入门搭建/集群搭建相关的知识,希望对你有一定的参考价值。
依赖
官网地址
https://docs.spring.io/spring-cloud-netflix/docs/current/reference/html/#spring-cloud-eureka-server
父模块依赖
<?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>
<packaging>pom</packaging>
<modules>
<module>eureka-server</module>
</modules>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.6</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.felix</groupId>
<artifactId>eureka-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>eureka-demo</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.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>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>2020.0.3</version>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
子模块依赖和配置
子模块yml配置
server:
port: 8761
spring:
application:
name: eureka-server
eureka:
instance:
hostname: localhost #主机名,不配置的时候根据操作系统的主机名来获取
client:
register-with-eureka: false #是否将自己注册到eureka注册中心,默认为true(单节点eureka不需要开启)
fetch-registry: false #是否从注册中心获取服务注册信息,默认为true(单节点eureka不需要开启)
service-url: #注册中心对外暴露的注册地址
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
eureka集群配置demo
依赖同上,弄了2个子模块
子模块1的yml
server:
port: 8761
spring:
application:
name: eureka-server #eureka-server是集群的时候这个名称保持一致
eureka:
instance:
hostname: eureka01 #主机名,不配置的时候根据操作系统的主机名来获取
prefer-ip-address: true
instance-id: 192.168.2.2:${server.port}:${eureka.instance.hostname} #注册到eureka时显示ip+端口
ip-address: 192.168.2.2 #eureka注册中心页面中的Instance Info里对应的ip
client:
# register-with-eureka: false #是否将自己注册到eureka注册中心,默认为true(单节点eureka不需要开启)
# fetch-registry: false #是否从注册中心获取服务注册信息,默认为true(单节点eureka不需要开启)
service-url: #注册中心对外暴露的注册地址
defaultZone: http://localhost:8762/eureka/ #集群的时候注册到另一个eureka服务中,要互相注册
# 有多个eureka服务的时候,这里可以写多个eureka服务地址,比如下面demo中peer1向peer2 peer3节点注册自己
#defaultZone: http://peer2:10082/eureka,http://peer3:10083/eureka
子模块2的yml
server:
port: 8762
spring:
application:
name: eureka-server #eureka-server是集群的时候这个名称保持一致
eureka:
instance:
hostname: eureka02 #主机名,不配置的时候根据操作系统的主机名来获取
prefer-ip-address: true
instance-id: 192.168.2.2:${server.port}:${eureka.instance.hostname} #注册到eureka时显示ip+端口
ip-address: 192.168.2.2 #eureka注册中心页面中的Instance Info里对应的ip
client:
# register-with-eureka: false #是否将自己注册到eureka注册中心,默认为true(单节点eureka不需要开启)
# fetch-registry: false #是否从注册中心获取服务注册信息,默认为true(单节点eureka不需要开启)
service-url: #注册中心对外暴露的注册地址
defaultZone: http://localhost:8761/eureka/ #集群的时候注册到另一个eureka服务中,要互相注册
# 有多个eureka服务的时候,这里可以写多个eureka服务地址,比如下面demo中peer1向peer2 peer3节点注册自己
#defaultZone: http://peer2:10082/eureka,http://peer3:10083/eureka
client端连接eureka集群
依赖使用client依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
<version>3.0.3</version>
</dependency>
yml demo
server:
port: 7070
spring:
application:
name: eureka-provider01
eureka:
instance:
hostname: provider01 #主机名,不配置的时候根据操作系统的主机名来获取
prefer-ip-address: true #是否使用ip地址注册
ip-address: 192.168.2.2 #eureka注册中心页面中的Instance Info里对应的ip
instance-id: ${eureka.instance.ip-address}:${server.port}:${eureka.instance.hostname} #注册到eureka时显示ip+端口
client:
# register-with-eureka: false #是否将自己注册到eureka注册中心,默认为true(单节点eureka不需要开启)
# fetch-registry: false #是否从注册中心获取服务注册信息,默认为true(单节点eureka不需要开启)
service-url: #注册中心对外暴露的注册地址
defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/ #连上eureka集群
以上是关于eureka-server入门搭建/集群搭建的主要内容,如果未能解决你的问题,请参考以下文章