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

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

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等多种方式

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

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、简历准备 1、个人技能 (1)自定义控件、UI设计、常用动画特效 自定义控件 ①为什么要自定义控件? Andr...
    lucas777阅读 5,454评论 2赞 54
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 13,227评论 6赞 13
  • 在一个方法内部定义的变量都存储在栈中,当这个函数运行结束后,其对应的栈就会被回收,此时,在其方法体中定义的变量将不...
    Y了个J阅读 4,637评论 1赞 14
  • 梦中,将这两年来的同事通通聊过一遍,惜别,感伤。最后一起参加了公司举办的运动会,在梦中,告别。 上一...
    兔八哥的太阳花阅读 277评论 0赞 0
  • 颐卦第四讲早课收获:父母之恩难以报偿。十月怀胎,一朝分娩,三年哺乳,培养我们长大成人,长大成人,然后娶妻生子,然后...
    冰冰_489d阅读 181评论 0赞 0

友情链接更多精彩内容