java - 在 servlet 容器中使用 REST 客户端时的最佳实践
问题描述
我正在做一个项目,我们有一个在 tomcat 容器中运行的大型门户。每次用户登录到门户时,都会通过调用 REST 客户端来检索一些信息。代码看起来像这样:
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 个用户同时打开网站,并且对于每个请求,上述代码都会被执行。我会遇到性能问题吗?我需要的不仅仅是一个客户端对象,也许是一个客户端池?
解决方案
推荐阅读
- matlab - 用 Matlab 解释神经人工网络训练中的梯度和性能结果
- oracle - Oracle 侦听器停止工作
- c++ - 从动态加载的库中记录
- javascript - 在 JavaScript 中的 URL 中间添加“/path/”
- javascript - 在订阅响应中初始化的 Item 类型的 Angular 4 Component 变量没有在 Item 类中定义的方法
- c# - 如何反转字符串的第一个和最后一个字符?
- php - 使用 PHP 数组搜索 SQL DB 中以逗号分隔的列
- javascript - 点击时的jquery锚点,转换为表单提交在firefox中不起作用
- c# - 在 ASP.NET Core MVC 中显示用户数据
- java - 随机类中的 nextDouble 和 nextFloat 有什么区别?