Eureka服务发现

2018-12-26  本文已影响23人  java_飞

Eureka服务发现

服务发现概述

Eureka Demo

pom引入

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>

启动类

@SpringBootApplication
@EnableEurekaServer
public class EurekaApplication {
    public static void main(String[] args) {
        SpringApplication.run(EurekaApplication.class, args);
    }
}

application配置

server:
  port: 8761                  #配置端口
eureka:
  client:
    register-with-eureka: false   #是否向服务端注册自己,它本身就是Eureka Server,所以为false
    fetch-registry: false         #表示是否从Eureka Server获取信息,因为这是一个单节点,不需要同步其它Eureka Server的数据,所以为 false
    service-url:
      defaultZone: http://localhost:8761/eureka/    #设置 Eureka Client 与 Eureka Server 同步的地址,注册、查询服务都要使用该地址,多个地址可用逗号分隔

启动服务后,访问 http://localhost:8761/ 则可看到 Eureka 后台

Eureka高可用

1.利用上面的demo,创建两个配置文件:

第一个application-eureka1.yml:

server:
  port: 20001
eureka:
  instance:
    hostname: eureka1
  client:
    ## 是否向注册中心注册自己
    register-with-eureka: true
    ## 是否去检索其他的服务,因为服务注册中心本身的职责就是维护服务实例,它也不需要去检索其他服务
    fetch-registry: true
    service-url:
      defaultZone: http://eureka2:20002/eureka/

第二个application-eureka2.yml:

server:
  port: 20002
eureka:
  instance:
    hostname: eureka2
  client:
    ## 是否向注册中心注册自己
    register-with-eureka: true
    ## 是否去检索其他的服务,因为服务注册中心本身的职责就是维护服务实例,它也不需要去检索其他服务
    fetch-registry: true
    service-url:
      defaultZone: http://eureka1:20001/eureka/

注意:记得在本机电脑host配置文件中配置,eureka1和eureka2的地址映射

192.168.1.214 eureka1
127.0.0.1 eureka2

注意:

1.两个映射必须配置成不一样的,否则在web管理页面将看不到replicas,也就是集群配置无法生效

2.配置文件中register-with-eureka和fetch-registry两个参数必须设置为true,否在集群配置生效但是不可用

上一篇下一篇

猜你喜欢

热点阅读