1. Eureka構成:
複数の登録センターが相互に登録する必要があります。
登録センター:
server:
port: 7001
spring:
application:
name: cloud-eureka
eureka:
instance:
hostname: eureka.com #eureka服务端的实例名称
client:
register-with-eureka: false #false表示不向注册中心注册自己。
fetch-registry: false #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
service-url:
#集群指向其它eureka
defaultZone: http://localhost:7002/eureka/
#server:
#关闭自我保护机制,保证不可用服务被及时踢除
#enable-self-preservation: false
#eviction-interval-timer-in-ms: 2000
@EnableEurekaServerアノテーションをレジストリのスタートアップクラスに追加する必要があります。
サーバー構成:
eureka:
client:
#表示是否将自己注册进EurekaServer默认为true。
register-with-eureka: true
#是否从EurekaServer抓取已有的注册信息,默认为true。单节点无所谓,集群必须设置为true才能配合ribbon使用负载均衡
fetchRegistry: true
service-url:
#单机版
# defaultZone: http://localhost:7001/eureka
# 集群版
defaultZone: http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka
# instance:
# instance-id: payment8001
# #访问路径可以显示IP地址
# prefer-ip-address: true
#Eureka客户端向服务端发送心跳的时间间隔,单位为秒(默认是30秒)
#lease-renewal-interval-in-seconds: 1
#Eureka服务端在收到最后一次心跳后等待时间上限,单位为秒(默认是90秒),超时将剔除服务
#lease-expiration-duration-in-seconds: 2
サーバーのスタートアップクラスには@EnableEurekaClientアノテーションを付ける必要があります
2.
なぜユーレカの自己保護メカニズムがユーレカの自己保護メカニズムを生み出すのですか?
EurekaClientが正常に実行できないようにするために、EurekaServerネットワークが切断されている場合、EurekaServerはすぐにEurekaClientサービスを削除しません。
自己保護モードとは何ですか?
デフォルトでは、EurekaServerがマイクロサービスインスタンスのハートビートを一定時間受信しない場合、EurekaServerはインスタンスをログアウトします(デフォルトでは90秒)。ただし、ネットワークパーティションの障害(遅延、フリーズ、輻輳)が発生すると、マイクロサービスとEurekaServerが正常に通信できなくなり、マイクロサービス自体が正常であるため、上記の動作は非常に危険になる可能性があります。このマイクロサービスは、現時点では登録解除しないでください。Eurekaは、「自己保護モード」を使用してこの問題を解決します。EurekaServerノードが短時間でクライアントを失いすぎると(ネットワークパーティション障害が発生する可能性があります)、このノードは自己保護モードに入ります。
Eureka自己保護モードでは、Eurekaはサービスレジストリの情報を保護し、マイクロサービス情報をログアウトしません。(CAPのAPのデザイン思想に属します)
Eurekaでは、自己保護メカニズムがデフォルトでオンになっており、構成は次のように閉じられています
。eurekaサーバー(登録センター)
eureka:
server:
enable-self-preservation: false # 关闭自我保护模式(缺省为打开)
eviction-interval-timer-in-ms: 5000 # 续期时间,即扫描失效服务的间隔时间(缺省为60*1000ms)
eurekaクライアント(サーバー)
eureka:
instance:
lease-renewal-interval-in-seconds: 5 # 心跳时间,即服务续约间隔时间(缺省为30s)
lease-expiration-duration-in-seconds: 10 # 发呆时间,即服务续约到期时间(缺省为90s)
client:
healthcheck:
enabled: true # 开启健康检查(依赖spring-boot-starter-actuator)
Eureka 2.0は更新されません