0
目標:創建一個使用ElasticSearch傳送其內容的網站。如何實現Transport-Client運行使用ElasticSearch作爲數據庫的網站?
問題:會有很多用戶同時訪問該網站。
選項:
創建和銷燬傳輸客戶端對象爲每個請求
創建傳輸客戶端對象池將被重用
使用傳輸客戶端對象爲單身人士
根據docs here,節點 - 客戶端不是這種情況下的選項。
技術背景如果它有任何區別:網站將使用Java與Play Framework。會有一個花哨的JS前端,預計會有許多微小的AJAX HTTP請求騷擾ElasticSearch。
你能詳細說明原因嗎?如果查詢需要一些時間,這是否會阻止其他請求? – rapstacke
@rapstacke由於ElasticSearch的創建者這樣說,請參閱[link](http://elasticsearch-users.115913.n3.nabble.com/What-is-your-best-practice-to-access-a-cluster- by-a-Java-client-tp4015311p4018507.html),並且對羣集的請求是異步和非阻塞的。避免創建多個傳輸客戶端,因爲每個傳播客戶端都會生成自己的線程池,並隨着羣集中節點的數量而增長。你可以像這裏[鏈接](https://discuss.elastic.co/t/elasticsearch-transport-client-spawning-a-large-number-of-threads/526/2)那樣擺弄ThreadPool - 當然這不是在文檔中。 – rapstacke
我同意https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/transport-client.html中顯示的不是很明顯。我只是說''在啓動時'意味着'在應用程序啓動時',但可能會比這更好。你想開一個公關嗎? – dadoonet