Eureka注册中心的服务,有2中调用方式,RestTemplate+Ribbon和Feign。
首先,我们有一个Eureka注册中心集群(2台机器),这2台机器相互注册,机器上的服务相互同步,保证服务的高可用。
然后有一个服务提供方集群(2台机器),将服务注册到Eureka注册中心集群。
1.eurekaServer模块,是注册中心集群,分8771,8772端口,分別启动。
#客户端默认连接8761这个端口,如果不指定,则默认启动是8080端口,则客户端也得改为8080端口。
server:
port: 8771
spring:
application:
name: eurekaserver
profiles: node1
eureka:
instance:
hostname: node1
# preferIpAddress: true //集群是,不要加这个。
server:
enableSelfPreservation: false #关闭自我保护机制,将停掉的服务移除
eviction-interval-timer-in-ms: 1000 #每1秒清除一次
client:
#自身是否注册到eureka服务器
# registerWithEureka: true
# 是否从eureka服务器获取注册信息
# fetchRegistry: true
#8771这个机器上的服务同步到8772,注册中心上的服务信息是相互同步的
serviceUrl:
defaultZone: http://node2:8772/eureka/
---
server:
port: 8772
spring:
application:
name: eurekaserver
profiles: node2
eureka:
instance:
hostname: node2
# preferIpAddress: true
server:
enableSelfPreservation: false #关闭自我保护机制,将停掉的服务移除
eviction-interval-timer-in-ms: 1000 #每5秒清除一次
client:
#自身是否注册到eureka服务器serviceUrl
# registerWithEureka: true
# 是否从eureka服务器获取注册信息
# fetchRegistry: true
#8772这个机器上的服务同步到8771,注册中心上的服务信息是相互同步的
serviceUrl:
defaultZone: http://node1:8771/eureka/
添加依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
启动类加注解:
@EnableEurekaServer
在模块根目录,运行mvn clean package,进入target目录,分别启动不同配置项的项目。
2.serviceProvider模块,服务提供方,是服务提供者集群,分8762,8763端口,分別启动。
#默认注册地址
#eureka:
# client:
# serviceUrl:
# defaultZone: http://localhost:8761/eureka/
#management:
# contextPath: /eurekaclient1
#传给注册中心的实例信息
eureka:
instance:
hostname: localhost
# preferIpAddress: true
#心跳时间,客户端注册服务元数据注册中心
leaseRenewalIntervalInSeconds: 1
leaseExpirationDurationInSeconds: 1
homePageUrlPath: ${server.servletPath}
statusPageUrlPath: ${server.servletPath}/info
healthCheckUrlPath: ${server.servletPath}/health
#对应"metadata":{"instanceId":"eurekaclient:56929cfd113d3fe33d3d3df34715d780"