Springのブートで書かれたJavaマイクロサービスをConsulを使ってサービスの検出と設定管理に使用し、Dockerコンテナで実行しています。すべてが機能していますが、コンテナーが死んだりサービスが再開したりすると、Consul UIではConsulとサービスが永続的に「失敗」してしまうことはありません。緑。Dockerでのコンサルとスプリングブートサービス
私たちはハートビートを使用していませんが、霊長類にとってハートビートとヘルスチェックの違いについての多くの文書は見つかりません。
はここでハートビートを有効にするには、他の設定があります。私のbootstrp.yml
spring:
application:
name: my-service
cloud:
config:
enabled: false
consul:
host: ${discovery.host:localhost}
port: ${discovery.port:8500}
config:
watch:
wait-time: 30
delay: 10000
profile-separator: "-"
format: FILES
discovery:
prefer-ip-address: true
instanceId: ${spring.application.name}:${spring.application.instance_id:${random.value}}
ですが、ドキュメントは、これは領事クラスタ上でより多くのストレスを置くことについて何かを言います。
実際にConsulとSpring Boot/Dockerサービスを自動的に登録解除することができた人は誰ですか?実際には何の問題も生じませんが、Consul UIは実際にアップ/ダウンサービスを監視するのにはかなり役に立たなくなります。
たぶんこれは役立ちます:http://stackoverflow.com/questions/32259323/consul-not-deregistering-zombie-services – gesellix