第六章 数据服务之服务架构演进

2019-02-11  本文已影响70人  被爱的天青色

数据部门产出数据后如何提交给业务部门,传统方式时直接导出,这种方式不仅低效而且有安全隐患,因此数据服务应运而生。基于性能、扩展性、稳定性不断升级服务架构,历经了四个阶段:

1)第一阶段:

① 将数据需求通过SOA(面向服务的架构)服务的方式提供

② 一个需求对应一个接口,开放给需求方调用

缺点:扩展性差,复用率低,维护成本高


2)第二阶段

① 基于需求分析,逻辑大多是从DB取数,封装后暴漏结果

② 对需求按照类别进行聚合,相同维度的数据形成一张逻辑表,共用同一个接口

缺点:随着数据维度增加,接口数量依然巨大


3)第三阶段

① 新抽象一层,用DSL(针对专业领域的计算机语言,如html,shell)描述取数需求,做到简单查询共用一个接口

② 采用标准的sql语法,进行封装形成新的DSL接口;同时封装Datasource,使用ORM框架解决关系映射问题

③ 封装跨异构数据源和分布式查询功能,用户查询逻辑表对底层完全透明。一个查询到达会经过以下步骤:

+ DSL解析:DSL语法解析,构建查询树

+ 逻辑query:便利查询树,通过查找元数据模型,转变为逻辑query

+ 物理query:通过元数据模型中的逻辑表与物理表的映射,将逻辑query转变为物理query

+ query拆分:如涉及多张物理表,将query长分成Subquery

+ sql执行:执行subquery

+ 结果合并

缺点:服务形式不够丰富,只能实现简单查询


4)第四阶段:完善服务形式,提供个性化业务场景服务、实时数据推送服务、定时任务服务

① 个性化业务场景服务:采用插件化开发服务,一类需求一个插件,最后为了避免插件之间相互影响,将插件做成微服务

② 实时数据推送服务:提供websocket、long polling等多种方式

③ 定时任务服务:提供即时任务和定时任务两种模式,用于处理大数据量数据

上一篇 下一篇

猜你喜欢

热点阅读