我有数据从卡夫卡流入MongoDB实时.这只是原始数据,使用这些数据实时提供各种API。
API使用聚合查询进行响应。但是,当要聚合的数据很大时,API的响应时间太长。
我可以采用什么技术或方法来实现API响应的低延迟?
我正在根据API所做的查询类型使用Spark流来聚合数据。这减少了API响应时间,但是查询中的更改需要很长时间才能反映在API结果中,因为需要根据新类型的查询聚合整个数据。但这会导致大量的停机。这是正确的方法吗。如果是,我怎样才能减少停工时间。
发布于 2017-12-22 14:54:37
正如我所理解的,您有一个工作系统来为查询“刷新”提供响应,但是当新的“类型”查询到达时,您可以寻找一种快速的方法。除非你能预测接下来会发生什么,否则你唯一的选择就是增加原始的计算能力。如果您可以预测一些可能的查询,您可以预先填充回复管道。也许您可以为客户提供一个选项,以警告他们很快就会开始要求什么,这样就可以提前做好准备,给出更好的表现。
https://softwareengineering.stackexchange.com/questions/362844
复制相似问题