2016-04-07 10 views
1

NoNodeAvailableExceptionは、ELBのIPアドレスが頻繁に変更されるが、JVM(Javaトランスポートクライアント)がDNSエントリのIPアドレスをキャッシュするELBのJVM(Javaトランスポートクライアント)がDNSエントリのIPアドレスをキャッシュするAWS

AWS上にあるELBのIPが制御不能な間に一度変更される可能性があるという問題があります。変更すると、システムが失敗し、ノードが見つかりませんでしたというエラーが表示され、IPがキャッシュであり、引き続き問題の原因となっているIPでルックアップを試みています。 これについては、 "networkaddress.cache.ttl" = "0"を設定する解決策があります。これはJVMにIPをキャッシュしないように指示します。

私の問題は、私は変更はIPが私のコントロールではありませんので、私は、このシナリオをシミュレートするか、いずれかが私のコードから、それをやってスマートな方法(未修正の一部が、検査部)

答えて

0

を提案することができる方法であります0以外の値を使用することをお勧めします。そうしないと、接続するたびにネットワークにDNS要求が氾濫し、場合によっては追加の遅延が発生する可能性があります。 560の間の番号を使用することは意味があります。

修正プログラムを検証する場合は、wiresharkのようなツールを使用してネットワークを監視し、サーバーへの接続が継続されていることを確認して、その名前に対するDNS要求と応答を確認できます。自動化されたテストを作成するには、DNSインフラストラクチャを立ち上げ、テストと調整して異なる値を循環させる必要があります。

関連する問題