hbase の上に Web サービスを構築しようとしているので、コードはおおよそ次のようになります。
@GET
@Path("/blabla")
@Override
public List<String> getEvents($$$params$$$) {
......
//calling hbase query the events
......
}
Hbase サービスがダウンしている場合、hbase Java API は Hbase リージョン サーバー util への接続を再試行し続け、最終的にタイムアウトになり、RT 例外をスローします。
NoServerForRegionException: Unable to find region for event,,99999999999999 after 10 tries.
ロジックに問題はありません。ここでの問題は、hbase が再試行をタイムアウトする前に HttpClient がタイムアウトすることです。その後、私の Web サービス API コンシューマーは応答を返しません。
質問 -
サーバーのタイムアウトが http 接続自体よりも長くなる可能性がある場合、ここでのベスト プラクティスは何ですか? この場合、Web サービスをクライアントに適切に応答させるにはどうすればよいでしょうか?