Я работаю над проектом, в котором у нас работает большой портал в контейнере Tomcat. Каждый раз, когда пользователь регистрируется на портале, некоторая информация извлекается путем вызова остального клиента. Код выглядит примерно так:
public class RestClient {
private static final String REST_URI = "http://url.tld/to/login/api";
private Client client;
public Client getClient() {
if (client == null) {
client = ClientBuilder.newClient();
}
return client;
}
public LoginData getLoginData(int userId) {
return client
.target(REST_URI)
.path(String.valueOf(userId))
.request(MediaType.APPLICATION_JSON)
.get(LoginData.class);
}
}
Я использую Apache CXF в качестве моей реализации клиента jax-rs. Насколько я знаю, клиентский объект должен быть потокобезопасным, так что это не должно быть проблемой. Но представьте, что 10000 пользователей открывают сайт одновременно, и для каждого запроса выполняется вышеуказанный код. У меня проблемы с производительностью? Нужно ли мне больше, чем один клиентский объект, может быть, пул клиентов?