Eurekaを深く理解する

5177 ワード

記事の目次
  • の例とクライアントのメタデータ
  • 、Eurekaのメタデータの字面は
  • 理解します.
  • 、Eurekaを構成するメタデータ
  • Using the EurekaClient
  • どうして登録サービスがこんなに遅いですか?
  • eurekaサービスの例のアプリケーション名は?
  • Eureka自己保護を開始するためのヒント
  • Eureka Serverが閉じられているノードを蹴らない問題をどう解決しますか?
  • Eureka構成instance Id表示IP
  • Eureka EvironmentとEureka Data Centerの構成:
  • Eureka配置ベストプラクティスまとめ
  • インスタンスとクライアントのメタデータ
    Eureka Metadata for Instances and Clients
    0、Eurekaのメタデータの字面は理解します.
  • 原文:It is worth spending a bit of time understanding how the Eurka metadata works,so you can use it in way that makes sense inur plotform.The is standa for information sustname,IP stature.and health check.These are published in the service registry and used by clients to contact the services in a strate forward way.Additional metadata can be added to the instance registration in the ekaree.Maddine.Madditine.Maddine.Madentine.Maddine.Madentine.Madentine.Madentine.Madentine.Madentine.Madentine.Madentine.Madentine.Madentine.Madentine.additional metadata does not change the behavior of the client、unless the client is made aware of the metadata.The re are coup of special cases、described later in this document、where Spring Cland the the metaress
  • 訳文:Eurekaのメタデータの働き方を時間をかけて知ることは価値のあることです.これであなたはプラットフォームでそれを使うことができます.標準メタデータの情報は、ホスト名、IPアドレス、ポート番号、ステータスページ、健康診断などを含む.これらのサービスはサービス登録センターで公開され、クライアントによって簡単にサービスと連絡する.他のメタデータは、eureka.instance.metadataMapのインスタンスに追加されてもよく、リモートクライアントは、メタデータにアクセスすることができる.通常、追加のメタデータは、クライアントがメタデータの意味を知っている限り、クライアントの挙動を変えない.本明細書では、Spring Cloudがメタデータマッピングに意味を割り当てたいくつかの特殊な状況を後述する.
  • 1、Eurekaのメタデータを設定する
    eureka:
      instance:
        metadata-map: 
          zone: ABC  # eureka        ,  eureka    zone   
          mmzs: BBC  #          ,  eureka   mmzs    ,eureka         
    
    Using the EurekaClient
    @PostConstructメソッドや@SchduledメソッドでEurekaClientを使用しないでください(あるいはまだApple Controtextを起動していない可能性がある場所).
    なぜ登録サービスがこんなに遅いですか?
    公式文書:http://cloud.spring.io/spring-cloud-static/Finchley.SR1/single/spring-cloud.html#_whuis_it_ソ_slowto_レジスターa_serviceは一例として、デフォルトの継続時間が30秒であるレジストリ(クライアントのService URLを介して)の周期的な心拍数にも関連する.クライアントは、インスタンス、サービス端末、クライアントがローカルキャッシュにおいて同じメタデータを有するまで、サービスを発見することができる.eureka.instance.lease Renewal Interval InSecondsを設定することにより、サイクルタイムを変更できます.それを30秒以下に設定し、クライアントが他のサービスに接続するプロセスを加速させる.生産の中で、できるだけ標準を使用したほうがいいです.サーバーの内部にいくつかの計算があります.それらはレンタルの更新期間についていくつかの仮定をします.
    eurekaサービスの例のアプリケーション名は?
    優先度:2>0>1、デフォルトは読み込み設定です.
    spring:
      application:
        #          
        name: microservice-provider-user
    
    1、この構成がないなら、unknown 2であり、以下の構成によってもよい.
    #      swagger    ,  0         
    eureka
      instance
        appname: USER-SERVICE-MMZS
    
    エウレカは自己保護のヒントを開く.
    次の文が出たら:EMERGENCY!EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY’RE NOT.RENEWALS ARE LESSER THAN THRESHOLD AND HENCE THE INSTANCES ARE NOT BEING EXPIRED JUST TO SAFE.Eurkaが自己保護を開始したことを示します.
    Eureka Serverは停止したノードを蹴らないでどう解決しますか?
  • server端:
  • #   false,        
    eureka.server.enable-self-preservation
    #     (    ,   60*1000)
    eureka.server.eviction-interval-timer-in-ms     
    
  • client端:
  • #       (  spring-boot-starter-actuator  )
    eureka.client.healthcheck.enabled = true
    #         (  30 )
    eureka.instance.lease-renewal-interval-in-seconds =10		
    #       (  90 )
    eureka.instance.lease-expiration-duration-in-seconds =30  
    
  • 例:
  • サーバ端構成:
  •     eureka:
            server:
                enableSelfPreservation: false
                evictionIntervalTimerInMs: 4000
    
  • クライアント構成:
  •     eureka:
            instance:
              leaseRenewalIntervalInSeconds: 10
              leaseExpirationDurationInSeconds: 30
    
    注:生産では、Eurekaの更新頻度を変更するとサーバーの自己保護機能が破壊されますので、デフォルトの値を使用したほうがいいです.サーバー内部にいくつかの計算がありますので、彼らは契約の更新を仮定します.参考文献:https://github.com/spring-cloud/spring-cloud-netflix/issues/373
    Eureka構成instance Id表示IP
  • 直接配置:
  • eureka:
      client:
        serviceUrl:
          defaultZone: http://localhost:8761/eureka/
      instance:
        prefer-ip-address: true
        instance-id: ${spring.cloud.client.ip-address}:${server.port}
    
    注:eureka.instance.prefer-p-address=trueを配置しただけで、eureka.instance.instance-instance-indを配置しないなら、やはりlocal hostを表示しますが、ipアドレスはアクセスできます.
  • 手動指定IP(推奨)は、以下の構成を追加します.
  • #       ip
    eureka.instance.ip-address = 127.0.0.1
    #      ip      
    eureka.instance.prefer-ip-address = true
    
  • Spring Cloud Netflix Eureka:マルチネットワークカード環境下でEurekaサービス登録IP選択問題リンク:https://blog.csdn.net/neosmith/article/details/53126924
  • Eureka EvironmentとEurka Data Centerの構成:
  • Eureka Evironmentの構成:
  •     eureka.environment:    
    
    参考文献:https://github.com/Netflix/eureka/wiki/Configuring-Eureka 2.Eureka Data Centerの配置
        eureka.datacenter: cloud
    
    参考文献:https://github.com/Netflix/eureka/wiki/Configuring-Eureka ここで言っています.設定-Deureka.datacenter=cloud、このようにeurekaはAWS雲の上にあると知っています.例:
        eureka: 
          datacenter: cloud
          environment: product
    
    Eureka配置の最適実践まとめ
    参考文献:https://github.com/spring-cloud/spring-cloud-netflix/issues/203