发表自话题:阿里大数据查询平台
阿里数据服务架构演进过程如下:
A、OneService-SmartDQ:通过SQL语法提供简单的查询服务需求。
B、OneService-Lego:采用插件方式满足个性化需求,为了避免插件之间相互影响,我们将插件做成微服务,使用Docker做隔离。Lego可以采用轻量级的Node.JS技术栈实现,适合处理高并发、低延迟的IO密集型场景。
C、OneService-iPush:主要提供websocket和long polling两种方式,其应用场景主要是商家端实时直播。比如双11,此时使用websocket方式可以有效缓解服务器压力,给用户带来最实时的体验。
D、OneService-uTiming:主要提供即时任务和定时任务两种模式,其主要应用场景是满足用户运行大数据量任务的需求。
最佳实践:
资源分配:复杂的计算逻辑可以提前计算;Get接口只返回一条记录,查询代价小响应时间短,List接口返回多条记录,查询时间相对较长,可以设计Get线程池和List线程池两个独立的线程池避免Get接口和List接口相互影响;查询可以在引擎层自动进行拆分查询,然后再把查询结果进行合并。缓存优化:元数据缓存、模型缓存、结果缓存。查询能力:由于离线数据和实时数据存放在不同地方,并且离线数据最准确,需要优先使用离线数据,如果离线数据还未产出,则改用实时数据,这就是要对离线和实时进行合并查询;能采用推送的,就不采用轮询,因为轮询对服务器压力大。限流、降级:限流就是直接降到0,降级就是只将存在问题的资源置为失效状态。上一篇:python 大数据查询
下一篇:mysql大数据量查询优化
2021-02-18
2020-11-26
2020-10-11
2020-10-09
2020-10-09
高新区向世界“表白” 燧石星火郑州科创企业全景路演举行_投融资服务
2020-09-23
2020-09-13
网贷平台的会员服务为何乱象丛生?收费不下款行为居多,是套路?
2020-09-02
2020-08-24
2020-08-19