layout: global displayTitle: Dbus 概览 title: 概览 description: Dbus文档首页 DBUS_VERSION_SHORT

背景

企业中大量业务数据保存在各个业务系统数据库中,过去通常的同步数据的方法有很多种,比如:

这些方案都不能算完美,我们在了解和考虑了不同实现方式后,认为要想同时解决数据一致性和实时性,比较合理的方法应该是基于日志的解决方案,同时能够提供消息订阅的方式给下游系统使用。

DBus(数据总线)项目就是应这个需求而生的, DBus专注于数据的收集及实时数据流计算,通过简单灵活的配置,无侵入的方式对源端数据进行采集,采用高可用的流式计算框架,对公司各个IT系统在业务流程中产生的数据进行汇聚,经过处理后转换成统一JSON的数据格式UMS,提供给不同下游客户订阅和消费,充当报表数据源、大数据分析数据源等。 目前DBus在公司内部广泛使用,支持oracle,mysql,log, RocketMQ等数据源,这次开源版本支持mysql数据源。

DBus的主要潜在客户包括:

项目介绍

专注于数据的收集及实时数据流计算,通过简单灵活的配置,以无侵入的方式对源端数据进行采集,采用高可用的流式计算框架,对公司各个IT系统在业务流程中产生的数据进行汇聚,经过转换处理后成为统一JSON的数据格式(UMS),提供给不同数据使用方订阅和消费,充当数仓平台、大数据分析平台、实时报表和实时营销等业务的数据源。

相关文档

详细介绍 DBus请参考 wiki

常见问题可参考 FAQ

系统介绍参考 system architecture

系统架构和工作原理

DBUS主要分为两个部分:貼源数据采集和多租户数据分发。两个部分之间以Kafka为媒介进行衔接。无多租户资源、数据隔离需求的用户,可以直接消费源端数据采集这一级输出到kafka的数据,无需再配置多租户数据分发。

GlobalOverview

1 DBUS源端数据采集

DBUS源端数据采集大体来说分为2部分:

以下为具体实现原理 system arch

主要模块如下:

2 多租户数据分发

对于不同租户对不同源端数据有不同访问权限、脱敏需求的情形,需要引入Router分发模块,将源端貼源数据,根据配置好的权限、用户有权获取的源端表、不同脱敏规则等,分发到分配给租户的Topic。这一级的引入,在DBUS管理系统中,涉及到用户管理、Sink管理、资源分配、脱敏配置等。不同项目消费分配给他的topic。

route2Project

主要功能:

grafana

2intr_proj_table

2intr_router_topo

其他

编译打包代码

关于编译代码,参考 compile

版本相关:

建议版本:0.6.x

下载发布包:请参考:downloads

版权声明

DBus 自身使用 Apache v2.0 协议

关于DBus 自身协议,修改第三方包代码,以及三方包协议参考: License

其他相关资料:

与开源项目 Wormhole 项目搭配使用将是最佳选择。

参考:如何基于日志,同步实现数据的一致性和实时抽取?

参考: 基于可视化配置的日志结构化转换实现

参考:实时敏捷大数据在宜信的实践

交流和问题反馈:

邮件交流:

提交issue : issue

Get Help

The fastest way to get response from our developers is to send email to our mail list [email protected] or [email protected]

and welcome to join our WeChat group for online discussion.