Spring Cloud 服务的注册和发现 Eureka

Spring Cloud

服务的注册和发现

Eureka Server的使用

  1. 加入依赖
  2. 启动类加入@EnableEurekaServer
  3. 配置文件加入如下内容

    server:
        port: 8761
    
    eureka:
        client:
            registerWithEureka: false
            fetchRegistry: false
            serviceUrl:
                defaultZone: http://localhost:8761/eureka/

    配置说明

    • registerWithEureka:是否将自己注册到server,默认true。当前服务不需要注册自己到自己。
    • fetchRegistry:是否从Eureka Server获取注册信息,默认true。当前是单点的Eureka Server,不需要同步其他节点。
    • defaultZone:设置与Eureka Server交互的地址,查询和注册服务依赖该地址。多个地址用逗号分隔。
  4. 启动项目。访问http://localhost:8761/可以看到注册的服务列表

Eureka Client的使用

  1. 加入依赖
  2. 配置文件加入如下内容

    spring:
        application:
            name: xxxxxx
    
    euraka:
        client:
            serverUrl: http://localhost:8761/eureka/
        instance:
            prefer-ip-address: true 

    配置说明

    • name:注册到Eureka Server的名字
    • prefer-ip-address:是否将自己的IP注册到Eureka Server。默认false,使用操作系统的hostname进行注册
  3. 启动类加入@EnableDiscoveryClient(discover:发现)或@EnableEurekaClient

    说明:

    • @EnableDiscoveryClient是抽象接口,可以用于配合其他服务组件使用。如:Zookeeper、Consul等
    • @EnableEurekaClient是Eureka专用注解

Eureka Server集群

  • Eureka Server可以通过运行多个实例互相注册实现集群。

    修改配置文件:

    spring:
        application:
    
            name: eureka-server-cluster
    ---
    
    spring:
        profiles: cluster1
    server:
        post: 8761
    eureka:
        instance:
            hostname: cluster1
        client:
            serverUrl:
    
                defaultZone: http://localhost:8762/eureka/
    ---
    
    spring:
        profiles: cluster2
    server:
        port: 8762
    erueka:
        instance:
            hostname: cluster2
        client:
            serverUrl:
                defaultZone: http://localhost:8761/eureka/

    说明:使用连字符(—)将application.yml分为三部分,第一部分没有声明profiles全局生效。

  • 运行程序。

    java -jar eureka-server-cluster.jar –spring.profiles.active=clusert1
    java -jar eureka-server-cluster.jar –spring.profiles.active=clusert2

Eureka Client 注册集群

Client即使注册单个节点,Eureka Server也可以互相同步。建议配置多个节点。

猜你喜欢

转载自blog.csdn.net/weixin_38229356/article/details/80037902