Eureka是Netflix开源的一款提供服务注册和发现的产品,它提供了完整的Service Registry和Service Discovery实现。也是springcloud体系中最重要最核心的组件之一。
背景介绍
服务中心
服务中心又称注册中心,管理各种服务功能包括服务的注册、发现、熔断、负载、降级等,比如dubbo admin后台的各种功能。
Eureka由两个组件组成:Eureka服务器和Eureka客户端。Eureka服务器用作服务注册服务器。Eureka客户端是一个java客户端,用来简化与服务器的交互、作为轮询负载均衡器,并提供服务的故障切换支持。Netflix在其生产环境中使用的是另外的客户端,它提供基于流量、资源利用率以及出错状态的加权负载均衡。案例实践
如何引入Eureka Server
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
如何运行一个Eureka Server
@SpringBootApplication
@EnableEurekaServer
public class ServicerEurekaApplication {
public static void main(String[] args) {
SpringApplication.run(ServicerEurekaApplication.class, args);
}
}
ureka Server有一个UI主页来查看注册的服务信息,/eureka/
。
Standalone Mode
在单机模式下,更喜欢关闭client端的行为,如registerWithEureka
,fetchRegistry
,所以它不会试图去到达它的peers。
aplication.yml (Standalone Eureka Server)
server:
port: 8761
eureka:
instance:
hostname: xphsc
client:
registerWithEureka: false
fetchRegistry: false
serviceUrl:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
注意serverUrl
指向本地实例的host。 配置主机名 C:\Windows\System32\drivers\etc\hosts 127.0.0.1 xphsc