赞
踩
Eureka是基于REST(Representational State Transfer)服务,主要以AWS云服务为支撑,提供服务发现并实现负载均衡和故障转移。我们称此服务为Eureka服务。Eureka提供了Java客户端组件,Eureka Client,方便与服务端的交互。客户端内置了基于round-robin实现的简单负载均衡。在Netflix,为Eureka提供更为复杂的负载均衡方案进行封装,以实现高可用,它包括基于流量、资源利用率以及请求返回状态的加权负载均衡。
图示如下
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
server:
port: 7001 # 端口号,另一个注册中心为7002
eureka:
instance:
hostname: eureka7001.com # 服务器名称
client:
register-with-eureka: false # 是否注册到 eureka服务器
fetch-registry: false # 是否从注册中心拉取服务
service-url:
# 另一个注册中心该处写 http://eureka7001.com:7001/eureka/
defaultZone: http://eureka7002.com:7002/eureka/
@SpringBootApplication
@EnableEurekaServer
public class Eureka7001Application {
public static void main(String[] args) {
SpringApplication.run(Eureka7001Application.class,args);
}
}
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
server:
port: 8501
spring:
application:
name: cloud-payment-service # 应用名,默认注册的服务名就是应用名
eureka:
client:
register-with-eureka: true # 是否注册到 eureka服务器
fetch-registry: true # 是否从注册中心拉取服务
service-url: # eureka 的注册中心地址
defaultZone: http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka
@SpringBootApplication
@EnableDiscoveryClient
public class Payment8501Application {
public static void main(String[] args) {
SpringApplication.run(Payment8501Application.class,args);
}
}
该处可以看到CLOUD-PAYMENT-SERVICE已经注册成功。其中注册中心的服务信息在服务提供者的yml文件中可以进行配置,本文在此不再赘述。
在服务提供者注册上去后可以看到一行红色,这部分的意思是eureka默认开启自我保护机制。
eureka:
server:
enable-self-preservation: false #禁用自我保护
eviction-interval-timer-in-ms: 5000 #清理无效节点的时间间隔
本文只讲述了服务注册中心以及服务提供者,对于服务消费者将在后续的章节进行介绍。 下一篇关于Ribbon
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。