使用resttemplate进行外部API调用-性能

时间:2019-05-06 13:04:35

标签: java performance rest spring-boot resttemplate

我是jr.dev,曾在不同的项目中使用过Spring Boot,主要用于创建服务器/客户端,客户端将一些内容发送到服务器,然后服务器调用外部API来反映客户端的更改。

将来,我将参与创建管理门户的后端。在此门户网站上,最多可以同时有约100个用户进行更改。对于上述服务器/客户端系统,很少进行更新,因此没有优先考虑性能,但是,如果同时在此管理门户上有100个用户,则用户体验可能会很差。

我正在构建的结构:

客户端(浏览器)CRUD->我的后端-> 1-3个对本地托管服务的外部API调用。

这就是我缺少Spring的Resttemplate的地方。如果大约有10个用户同时发出请求,则RESTcontroller将尝试同时为10个请求执行相应的代码,但是由于该代码使用Resttemplate进行外部API调用,因此每个RESTcontroller“线程”将等待轮到他们,因为Resttemplate是同步的? -反过来发出最后一个RESTcontroller请求,必须等待可能对外部API的10-30个Resttemplate调用,每个调用大约花费30ms。

是否有更好的方法来处理?这样,对restcontroller的每个请求都可以联系外部API,而不必等待另一个线程释放Resttemplate?

我可能正在谈论胡言乱语,我发现很难搜索有关Spring / RESTcontroller / Resttemplate的结构的特定问题,无论它们是异步的还是同步的。

0 个答案:

没有答案