ElasticSearch Java REST Client высокого уровня — Singleton или один экземпляр для каждого пользователя?

Я планирую использовать клиент Java REST в нашем приложении. Наше приложение Java RESTful работает на Tomcat. У нас будет много поисковых запросов к ElasticSearch в секунду от разных пользователей. Какова наилучшая практика: создать синглтон и использовать его во всем приложении или создать один экземпляр для каждого пользователя?

Если Singleton подходит, сколько одновременных запросов он может обслуживать? Будет ли этот подход масштабируемым?

Спасибо и с уважением, Раджеш


person Rajesh Kumar    schedule 22.09.2017    source источник


Ответы (1)


И RestClient, и RestHighLevelClient являются потокобезопасными. Согласно документации у вас должен быть только один объект для каждого приложения.

https://www.elastic.co/guide/en/elasticsearch/client/java-rest/current/_changing_the_client_8217_s_initialization_code.html

person mkalsi    schedule 06.10.2017