spring cloud(二) 服务与注册发现(eureka)服务端

时间:2022-03-07 16:52:10
 

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端的行为,如registerWithEurekafetchRegistry,所以它不会试图去到达它的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