0
我試圖建立在HBase的頂部的Web服務,使代碼看起來大致如下:Web服務的最佳實踐 - 服務器超時長於HTTP客戶端超時
@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.
的邏輯沒有問題,我在這裏的問題是,在此之前,HttpClient的超時方式HBase的超時重試。然後我的Web服務API消費者得不到任何迴應,很醜陋。
問題 -
如果你有服務器的超時比HTTP連接本身可能不再這裏有什麼最好的做法?在這種情況下如何讓Web服務優雅地響應客戶端?