Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当数据所有者是其他人时搜索优化_Java_Search_Spring Mvc - Fatal编程技术网

Java 当数据所有者是其他人时搜索优化

Java 当数据所有者是其他人时搜索优化,java,search,spring-mvc,Java,Search,Spring Mvc,在我的项目中,我们有两个REST调用,它们占用了太多的时间,所以我们计划对其进行优化。下面是它当前的工作方式-我们第一次调用系统A,然后将响应传递给系统B进行进一步处理。一旦我们从系统B获得响应,我们必须在将其传递到UI层之前对其进行进一步操作,而整个过程需要花费大量时间。我们计划使用Solr/Lucene,但由于我们不是数据所有者,因此无法实现。有人能告诉我如何最好地处理这件事吗?我们正在使用SpringMVC和SpringWebFlow。提前谢谢 [编辑:]这不是实际情况,我写这篇文章是为了

在我的项目中,我们有两个REST调用,它们占用了太多的时间,所以我们计划对其进行优化。下面是它当前的工作方式-我们第一次调用系统A,然后将响应传递给系统B进行进一步处理。一旦我们从系统B获得响应,我们必须在将其传递到UI层之前对其进行进一步操作,而整个过程需要花费大量时间。我们计划使用Solr/Lucene,但由于我们不是数据所有者,因此无法实现。有人能告诉我如何最好地处理这件事吗?我们正在使用SpringMVC和SpringWebFlow。提前谢谢


[编辑:]这不是实际情况,我写这篇文章是为了更好地理解。想象一下,这是为一个特定的zip打一个商店定位电话,以获得100家商店的列表,然后将这100家商店发送给另一个电话,以获得库存列表等,对于每个邮政编码以及其中的库存,此存储列表都会更改。

如果您对系统A/B的查询参数经常相同,则可以向代码中添加缓存框架。如果您使用Spring3,您可以在调用SystemA的代码上使用@Cacheable注释轻松地使用缓存。见:


缓存子系统将缓存结果,包括处理代码。

solr/lucene如何帮助?是等待响应的瓶颈还是后处理时间的瓶颈?“花费太多时间”有点宽泛。我建议深入研究这个问题,以确定减速的确切位置。分析器可能非常有用。您可能还希望在代码中加入计时工具,以帮助确定发生减速的位置。当您得到更详细的信息时,请发布。@DeepakBala-瓶颈在等待响应。@SteveWall-我们有定时检测代码,我们也实现了缓存,但只是上游系统的响应不够快。请参阅“编辑”了解我在项目中的场景类型。我将继续寻找选项,并将更新关于找到apt解决方案的问题。可能对后端系统的请求的大小导致了延迟。您是否有权访问该系统的开发人员?一种想法是将请求分成更小的块,并生成多个线程来发送各种更小的请求。我们已经在做缓存了,但这并没有多大帮助。