如何快速从多个异地数据库中查询数据并汇总,在 restful api 请求中如何处理长时间任务?

2016-09-07 20:27:19 +08:00
 shade
2728 次点击
所在节点    程序员
5 条回复
darkfireworld
2016-09-07 22:20:21 +08:00
1. 传输数据量不大的话,那么是查询数据的问题,优化 RESTFul api 的响应速度。如果传输数据量大的话,考虑异地数据库优先处理数据,然后汇总。实在不行,就复制异地数据库到本地,然后做离线计算。
2. async
20150517
2016-09-08 06:28:51 +08:00
看到这个想起最近刚碰到个坑,就是我们有个长时间处理的 restful api,处理等待时间超过 60 秒,然后 haproxy 有个默认设置就是 60 秒不响应,自动再次调用....后果就是每个超过 60 秒的读取都被调用了两次
domty
2016-09-08 10:19:34 +08:00
觉得响应时间不理想最简单粗暴的方法就是缓存。。。
winglight2016
2016-09-08 20:16:33 +08:00
对于服务端长时间任务,有两种方法: 1.非阻塞; 2.websocket
ytf
2016-09-11 12:52:44 +08:00
1.多数据库汇总,多个线程来同时查询,耗时主要在数据库和网络,速度取决于最慢的那个查询,可以尝试一些分布式数据库的中间件来处理
2.如果能拆分任务的话,将任务拆分到更小粒度,发挥并行计算的优势。也可以使用异步调用的方式。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/304651

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX