加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_阳江站长网 (https://www.0662zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 安全 > 正文

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

发布时间:2021-01-07 10:51:23 所属栏目:安全 来源:网络整理
导读:副标题#e# 《如何基于日志,同步实现数据的一致性和实时抽取?》要点: 本文介绍了如何基于日志,同步实现数据的一致性和实时抽取?,希望对您有用。如果有疑问,可以联系我们。 作者:王东 宜信技术研发中心架构师 目前就职于宜信技术研发中心,任架构师,负责

通过心跳模块,例如每分钟(可配置)对每个被抽取的表插入一条心态数据并保存发送时间,这个心跳表也被抽取,跟随着整个流程下来,与被同步表在实际上走相同的逻辑(因为多个并发的的Storm可能有不同的分支),当收到心跳包的时候,即便没有任何增删改的数据,也能证明整条链路是通的.

Storm程序和心跳程序将数据发送公共的统计topic,再由统计程序保存到influxdb中,使用grafana进行展示,就可以看到如下效果:

图中是某业务系统的实时监控信息.上面是实时流量情况,下面是实时延时情况.可以看到,实时性还是很不错的,基本上1~2秒数据就已经到末端kafka中.

Granfana提供的是一种实时监控能力.

如果出现延时,则是通过dbus的心跳模块发送邮件报警或短信报警.

实时脱敏

考虑到数据安全性,对于有脱敏需求的场景,Dbus的全量storm和增量storm程序也完成了实时脱敏的功能.脱敏方式有3种:

总结一下:简单的说,Dbus就是将各种源的数据,实时的导出,并以UMS的方式提供订阅,支持实时脱敏,实际监控和报警.

四、Wormhole解决方案

说完Dbus,该说一下Wormhole,为什么两个项目不是一个,而要通过kafka来对接呢?

其中很大一个原因就是解耦,kafka具有天然的解耦能力,程序直接可以通过kafka做异步的消息传递.Dbus和Wornhole内部也使用了kafka做消息传递和解耦.

另外一个原因就是,UMS是自描述的,通过订阅kafka,任何有能力的使用方来直接消费UMS来使用.

虽然UMS的结果可以直接订阅,但还需要开发的工作.Wormhole解决的是:提供一键式的配置,将kafka中的数据落地到各种系统中,让没有开发能力的数据使用方通过wormhole来实现使用数据.

如图所示,Wormhole 可以将kafka中的UMS 落地到各种系统,目前用的最多的HDFS,JDBC的数据库和HBase.

在技术栈上,wormhole选择使用spark streaming来进行.

在Wormhole中,一条flow是指从一个namaspace从源端到目标端.一个spark streaming服务于多条flow.

(编辑:应用网_阳江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!