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"
metadataMap:
instanceId: ${

该博客详细介绍了如何通过RestTemplate+Ribbon和Feign两种方式调用Eureka注册中心的服务。首先,搭建了Eureka注册中心和服务提供方集群,接着在服务消费方,利用@LoadBalanced的RestTemplate实现轮询调用,并通过Hystrix进行断路器管理。然后,通过Feign结合响应时间权重策略调用服务。最后,利用Hystrix Turbine实现断路器的聚合监控。源码可在GitHub找到。

891

被折叠的 条评论
为什么被折叠?



