• Eureka原理与架构


    一、原理图

     

    • Eureka:就是服务注册中心(可以是一个集群),对外暴露自己的地址
    • 提供者:启动后向Eureka注册自己信息(地址,提供什么服务)
    • 消费者:向Eureka订阅服务,Eureka会将对应服务的所有提供者地址列表发送给消费者,并且定期更新
    • 心跳(续约):提供者定期通过http方式向Eureka刷新自己的状态
    • Eureka在90秒后还未收到服务提供者发来的心跳时,那么它就会认定该服务已经死亡就会注销这个服务。这里注销并不是立即注销,而是会在60秒以后对在这个之间段内“死亡”的服务集中注销,如果立即注销,势必会对Eureka造成极大的负担。这些时间参数都可以人为配置
    • 自我保护机制,如果在15分钟内超过85%的节点都没有正常的心跳,那么Eureka就认为客户端与注册中心出现了网络故障,所以不会再接收心跳,也不会删除服务。

    二、服务端依赖 

    <dependencies>
            <!-- Eureka服务端 -->
        <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>
    </dependencies>

     三、服务端配置 

    server:
      port: 10086 # 端口
    spring:
      application:
        name: eureka-server # 应用名称,会在Eureka中显示
    eureka:
      server:
        enable-self-preservation: false # 关闭自我保护模式(缺省为打开),开发阶段用
        eviction-interval-timer-in-ms: 1000 # 扫描失效服务的间隔时间(缺省为60*1000ms),开发阶段用
      client:
        register-with-eureka: false # 是否注册自己的信息到EurekaServer,默认是true
        fetch-registry: false # 是否拉取其它服务的信息,默认是true
        service-url: # EurekaServer的地址,现在是自己的地址,如果是集群,需要加上其它Server的地址。
          defaultZone: http://127.0.0.1:${server.port}/eureka

     四、客户端依赖

    <!-- Eureka客户端 -->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
    </dependency>

    五、提供与消费者配置

    eureka:
    client:
    service-url: #EurekaServer地址
    defaultZone: http://127.0.0.1:10086/eureka #集群配置多个
    register-with-erueka: true #服务注册,是否向服务端注册
    #fetch-registry: true #服务消费者参数,是否从注册中心拉取服务列表
    #registry-fetch-interval-seconds: 5 #服务消费者专用参数,拉取列表时间间隔
    instance:
    instance-id: ${spring.application.name}:${server.port} #服务提供实例的构成信息
    prefer-ip-address: true # 当调用getHostname获取实例的hostname时,返回ip而不是host名称
    ip-address: 127.0.0.1 # 指定自己的ip信息,不指定的话会自己寻找
    lease-expiration-duration-in-seconds: 10 #服务续约的间隔时间
    lease-renewal-interval-in-seconds: 50 #服务失效时间

     六、集群配置

     服务端配置

    server:
      port: 10086 # 端口
    spring:
      application:
        name: eureka-server # 应用名称,会在Eureka中显示
    eureka:
      client:
        service-url: # 配置其他Eureka服务的地址,而不是自己,比如10087
          defaultZone: http://127.0.0.1:10087/eureka
    server:
      port: 10087 # 端口
    spring:
      application:
        name: eureka-server # 应用名称,会在Eureka中显示
    eureka:
      client:
        service-url: # 配置其他Eureka服务的地址,而不是自己,比如10087
          defaultZone: http://127.0.0.1:10086/eureka

     客户端配置

    eureka:
      client:
        service-url: # EurekaServer地址,多个地址以','隔开
          defaultZone: http://127.0.0.1:10086/eureka,http://127.0.0.1:10087/eureka

    参考链接: 小马资料

  • 相关阅读:
    编译器小知识
    C++ 文件大小格式化
    如何利用开盘半小时预测当天走势
    判断股票跌到位及买进时机的简单原则
    六招炒股绝技 牛市熊市都赚钱
    细分行业龙头
    股市新手入门口诀
    关于量价十八则的口诀
    如何确认底部的条件及操作原则
    每日一招:散户巧寻主力筹码的方法
  • 原文地址:https://www.cnblogs.com/flame540/p/12823347.html
Copyright © 2020-2023  润新知