大数据总线平台DBus设计思路与工作原理

技术大数据总线平台DBus设计思路与工作原理大数据总线平台DBus设计思路与工作原理,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、背景企

很多新手对大数据总线平台DBus的设计思路和工作原理不是很清楚。为了帮助大家解决这个问题,下面小编就为大家详细讲解一下。需要的人可以从中学习,希望你能有所收获。

一、背景

企业中大量的业务数据存储在各种业务系统数据库中。过去,有许多方法可以同步数据,例如:

所有数据用户在业务高峰期间提取所需数据(缺点是存在重复提取和数据不一致的情况)。

统一数据仓库平台通过sqoop从各个系统中提取数据(缺点是sqoop提取方式时效性差,一般是T 1的时效性)

增量更改是基于触发器或时间戳获得的(缺点是对业务端造成干扰,导致性能损失等。)

这些方案并不完美。在了解和考虑了不同的实现方法后,我们认为如果要同时解决数据一致性和实时性,更合理的方法应该是基于日志的解决方案,同时可以为下游系统提供消息订阅的方式。

DBus(数据总线)项目就是响应这一需求而诞生的。DBus专注于数据收集和实时数据流计算。IT通过简单灵活的配置,以无创的方式从源头收集数据,采用高可用的流计算框架,收集公司业务流程中各种IT系统产生的数据。转换后成为统一的JSON数据格式(UMS),提供给不同的数据用户订阅消费,作为数据仓库平台和大数据分析。

二、系统架构和工作原理

DBUS主要分为粘贴源的数据采集和多租户的数据分发两部分。这两部分以卡夫卡为媒介联系在一起。没有多租户资源和数据隔离要求的用户可以在源端数据收集的层面上直接消费输出到kafka的数据,而无需配置多租户数据分发。

大数据总线平台DBus设计思路与工作原理

2.1 DBUS源端数据采集

DBUS源数据采集一般分为两部分:

读取RDBMS增量日志,实时获取增量数据日志,支持满量程拉取;

基于logtash、flume、filebeat等捕获工具的实时数据采集。并以可视化的方式结构化输出数据。

以下是具体实施原则。

大数据总线平台DBus设计思路与工作原理

主要模块如下:

日志捕获模块:从RDBMS的备份数据库中读取增量日志,并实时同步到kafka

增量转换模块:将增量数据实时转换为UMS数据,处理模式变更、脱敏等。

总提取程序:从RDBMS备份kula中提取总数据,并将其转换为UMS数据;

日志操作员处理模块:根据操作员规则对来自不同抓取终端的日志数据进行结构化处理;

心跳监测模块:对于RDMS源,定期向源发送心跳数据,末端监测,并发送预警通知;对于日志类,在最后直接监控警报。

Web管理模块:管理所有相关模块。

00-1010对于不同租户对不同源数据有不同访问权限和脱敏要求的情况,需要引入Router分发模块,根据配置的权限、用户有权获取的源表、不同的脱敏规则等,将附在源上的源数据分发到分配给租户的Topic。在DBUS管理系统中引入这一级涉及用户管理、Sink管理、资源分配、脱敏配置等。不同的项目消耗分配给他的主题。

大数据总线平台DBus设计思路与工作原理

主要功能:

非侵入式访问多个数据源:业务系统不需要任何修改,非侵入式读取数据库系统的日志,获取增量数据的实时变化。目前,RDBMS支持mysql、oracle数据源(关于Oracle数据源请参考Oracle相关协议),在日志方面支持基于logstash、flume、filebeat的各种数据日志提取方案。

海量数据实时传输:采用基于Storm的流计算框架,二级延时,无单点保证高可用性。

多租户支持:提供用户管理、资源分配、拓扑管理、租户表管理等丰富功能。根据需要,可以为不同的租户分配对源表数据的不同访问权限,并可以应用不同的脱敏规则

che.yisu.com/upload/information/20200703/144/36119.png" alt="大数据总线平台DBus设计思路与工作原理">

大数据总线平台DBus设计思路与工作原理

大数据总线平台DBus设计思路与工作原理

  • 感知源端schema变更: 当源端发生schema变更时,能自动感知schema变化,调整UMS版本号,并通过Kafka消息和邮件通知下游

大数据总线平台DBus设计思路与工作原理

  • 数据实时脱敏: 可根据需求对指定列数据进行实时脱敏。脱敏策略包括:直接替换、MD5、murmur等脱敏算法,脱敏加盐,正则表达式替换等。支持用户开发jar包实现DBUS未覆盖的个性化脱敏策略。 

大数据总线平台DBus设计思路与工作原理

  • 初始化加载: 支持高效的初始化加载和重新加载,支持任意指定输出topic,灵活应对客户需求。

大数据总线平台DBus设计思路与工作原理

  • 统一标准化消息传输协议: 使用统一的UMS(JSON格式)消息schema格式输出便于消费,提供数据线级ums_id保证数据顺序性,输出insert,Update(before/after),Delete event数据。

大数据总线平台DBus设计思路与工作原理

  • 可靠多路消息订阅分发: 使用Kafka存储和传递消息保证可靠性和便捷的多用户订阅

  • 支持分区表/系列表数据汇集: 支持分区表的数据汇集到一个“逻辑表” 。也可将用户自定义的系列表数据汇集到一个“逻辑表“。例:

大数据总线平台DBus设计思路与工作原理

  • 实时监控&预警: 可视化监控系统能随时查看各数据线实时流量和延时状况;当数据线发生异常时,根据配置策略自动发邮件或短信通知相关负责人

大数据总线平台DBus设计思路与工作原理

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/132527.html

(0)

相关推荐

  • MySQL中SQL语句执行流程是怎么样的

    技术MySQL中SQL语句执行流程是怎么样的这篇文章主要介绍MySQL中SQL语句执行流程是怎么样的,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!总的来说,MySQL逻辑架构可以分为server层

    攻略 2021年10月26日
  • 200. 岛屿数量

    技术200. 岛屿数量 200. 岛屿数量描述
    给你一个由'1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。
    岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆

    礼包 2021年12月2日
  • jvm内存结构及原理(jvm内存结构讲解)

    技术JVM内存的结构是怎样的这篇文章主要介绍“JVM内存的结构是怎样的”,在日常操作中,相信很多人在JVM内存的结构是怎样的问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JVM内存的结构是

    攻略 2021年12月21日
  • Python怎么实现两数相加

    技术Python怎么实现两数相加这篇文章主要讲解了“Python怎么实现两数相加”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python怎么实现两数相加”吧!两数相加题

    攻略 2021年11月20日
  • 如何在Android进行代理设置

    技术如何在Android进行代理设置这篇文章给大家介绍如何在Android进行代理设置,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Android代理设置步骤:1.打开你的Android设置。2.点

    攻略 2021年11月11日
  • 过滤器和拦截器的区别有哪些

    技术过滤器和拦截器的区别有哪些这篇文章主要讲解了“过滤器和拦截器的区别有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“过滤器和拦截器的区别有哪些”吧!Filter的使

    攻略 2021年10月28日