本文介绍如何在springcloud项目中进行eureka服务端配置、eureka客户端配置、以及eureka的集群配置。本例使用的springcloud版本为:2021.0.3,springboot版本为:2.6.8。
1、Eureka服务端配置
1.1 创建Eureka服务端项目
1.2 pom配置
在项目pom中引入eureka的服务端依赖 spring-cloud-starter-netflix-eureka-server。
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
<version>2.2.10.RELEASE</version>
</dependency>
</dependencies>
1.3 application.yml配置
在项目resources文件夹下创建application.yml文件,并按如下内容进行配置:
server:
port: 7001
eureka:
instance:
hostname: localhost #eureka服务端的实例名称
client:
register-with-eureka: false #false表示不向注册中心注册自己
fetch-registry: false #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
service-url:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka
1.4 主应用类配置
在项目src/main/java下创建主应用类 EurekaServerApplication.java,添加eureka服务端注解@EnableEurekaServer和@SpringBootApplication。
@SpringBootApplication
@EnableEurekaServer
public class EurekaServerApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaServerApplication.class, args);
}
}
1.5 测试验证
运行项目eueka-server-7001,然后通过浏览器访问http://localhost:7001/地址,如果出现以下页面,则表示eureka注册中心配置成功:
2、Eureka客户端项目配置
2.1 创建eureka客户端项目
打开idea新建项目,选择maven,创建springboot项目payment-8001。
2.2 pom配置
在项目pom中引入eureka的客户端依赖 spring-cloud-starter-netflix-eureka-server。
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
<version>2.2.10.RELEASE</version>
</dependency>
2.3 application.yml配置
在项目resources文件夹下创建application.yml文件,并按如下内容进行配置:
server:
port: 8001
eureka:
client:
service-url:
defaultZone: http://127.0.0.1.com:7001/eureka/
fetch-registry: true
instance:
instance-id: payment-${server.port}
prefer-ip-address: true
本文介绍如何在springcloud项目中进行eureka服务端配置、eureka客户端配置、以及eureka的集群配置。本例使用的springcloud版本为:2021.0.3,springboot版本为:2.6.8。
1、Eureka服务端配置
1.1 创建Eureka服务端项目
1.2 pom配置
在项目pom中引入eureka的服务端依赖 spring-cloud-starter-netflix-eureka-server。
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
<version>2.2.10.RELEASE</version>
</dependency>
</dependencies>
1.3 application.yml配置
在项目resources文件夹下创建application.yml文件,并按如下内容进行配置:
server:
port: 7001
eureka:
instance:
hostname: localhost #eureka服务端的实例名称
client:
register-with-eureka: false #false表示不向注册中心注册自己
fetch-registry: false #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
service-url:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka
1.4 主应用类配置
在项目src/main/java下创建主应用类 EurekaServerApplication.java,添加eureka服务端注解@EnableEurekaServer和@SpringBootApplication。
@SpringBootApplication
@EnableEurekaServer
public class EurekaServerApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaServerApplication.class, args);
}
}
1.5 测试验证
运行项目eueka-server-7001,然后通过浏览器访问http://localhost:7001/地址,如果出现以下页面,则表示eureka注册中心配置成功:
2、Eureka客户端项目配置
2.1 创建eureka客户端项目
打开idea新建项目,选择maven,创建springboot项目payment-8001。
2.2 pom配置
在项目pom中引入eureka的客户端依赖 spring-cloud-starter-netflix-eureka-server。
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
<version>2.2.10.RELEASE</version>
</dependency>
2.3 application.yml配置
在项目resources文件夹下创建application.yml文件,并按如下内容进行配置:
server:
port: 8001
eureka:
client:
service-url:
defaultZone: http://127.0.0.1.com:7001/eureka/
fetch-registry: true
instance:
instance-id: payment-${server.port}
prefer-ip-address: true
2.4 主应用类配置
在主应用类上添加eureka客户端注解 @EnableEurekaClient:
@Configuration
@MapperScan("com.knight.payment.dao")
@EnableEurekaClient
@SpringBootApplication
public class PaymentApplication {
public static void main(String[] args) {
SpringApplication.run(PaymentApplication.class, args);
}
}
2.5 测试验证
启动并运行payment-8001项目,然后通过浏览器访问http://localhost:7001/地址,如果出现以下页面,则表示成功注册到eureka注册中心:
3、eureka集群配置
3.1 eureka服务端配置
修改eureka服务端项目eueka-server-7001的application.yml文件如下:
server:
port: 7001
eureka:
instance:
hostname: eureka7001.com #eureka服务端的实例名称
client:
register-with-eureka: false #false表示不向注册中心注册自己
fetch-registry: false #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
service-url:
defaultZone: http://eureka7002.com:7002/eureka/
创建新的eureka服务端项目eueka-server-7002,并将application.yml文件配置如下:
server:
port: 7002
eureka:
instance:
hostname: eureka7002.com #eureka服务端的实例名称
client:
register-with-eureka: false #false表示不向注册中心注册自己
fetch-registry: false #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
service-url:
defaultZone: http://eureka7001.com:7001/eureka/
3.2 eureka客户端项目配置
将项目payment-8001中的application.yml配置修改如下:
eureka:
client:
service-url:
defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/
fetch-registry: true
instance:
instance-id: payment-${server.port}
prefer-ip-address: true
3.3 测试验证
同时启动并运行eueka-server-7001、eueka-server-7002、payment-8001三个项目,然后通过浏览器访问http://eureka7001.com:7001/和http://eureka7002.com:7002地址,如果出现以下页面则表示配置成功: