首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何设计实时数据平台

下篇(技术篇)导读:实时数据平台(RTDP,Real-timeDataPlatform)是一个重要且常见的大数据基础设施平台。在上篇(设计篇)中,我们从现代数仓架构角度和典型数据处理角度介绍了RTDP,并探讨了RTDP的整体设计架构。本文作为下篇(技术篇),则是从技术角度入手,介绍RTDP的技术选型和相关组件,探讨适用不同应用场景的相关模式。

图11、整体技术选型

图2首先,我们简要解读一下图2:数据源、客户端,列举了大多数数据应用项目的常用数据源类型。数据总线平台DBus,作为统一数据采集平台,负责对接各种数据源。DBus将数据以增量或全量方式抽取出来,并进行一些常规数据处理,最后将处理后的消息发布在Kafka上。分布式消息系统Kafka,以分布式、高可用、高吞吐、可发布-订阅等能力,连接消息的生产者和消费者。

图3RTDP架构之DBusDBus设计思想从外部角度看待设计思想负责对接不同的数据源,实时抽取出增量数据,对于数据库会采用操作日志抽取方式,对于日志类型支持与多种Agent对接。将所有消息以统一的UMS消息格式发布在Kafka上,UMS是一种标准化的自带元数据信息的JSON格式,通过统一UMS实现逻辑消息与物理KafkaTopic解耦,使得同一Topic可以流转多个UMS消息表。

图4DBus数据流转架构图更多DBus技术细节,可以参看:“敏捷大数据”公众号(2)分布式消息系统KafkaKafka已经成为事实标准的大数据流式处理分布式消息系统,当然Kafka在不断的扩展和完善,现在也具备了一定的存储能力和流式处理能力。关于Kafka本身的功能和技术已经有很多文章信息可以查阅,本文不再详述Kafka的自身能力。

图5图片来源:http://cloudurable.com/images/kafka-ecosystem-rest-proxy-schema-registry.png图5显示,在Kafka背后的Confluent公司解决方案中,引入了一个元数据管理组件:SchemaRegistry。这个组件主要负责管理在Kafka上流转消息的元数据信息和Topic信息,并提供一系列元数据管理服务。

表1SchemaRegistry与DBus+UMS对比这里给出一个UMS的例子:

图6UMS消息举例(3)流式处理平台Wormhole

图7RTDP架构之WormholeWormhole设计思想从外部角度看待设计思想消费来自Kafka的UMS消息和自定义JSON消息负责对接不同的数据目标存储(Sink),并通过幂等逻辑实现Sink的最终一致性支持配置SQL方式实现流上处理逻辑提供Flow抽象。Flow由一个SourceNamespace和一个SinkNamespace定义,且具备唯一性。

图8Wormhole数据流转架构图更多Wormhole技术细节,可以参看:“敏捷大数据”公众号(4)常用数据计算存储选型RTDP架构对待数据计算存储选型的选择采取开放整合的态度。不同数据系统有各自的优势和适合的场景,但并没有一个数据系统可以适合各种各样的存储计算场景。因此当有合适的、成熟的、主流的数据系统出现,Wormhole和Moonbox会按照需要相应的扩展整合支持。

图10Moonbox逻辑模块更多Moonbox技术细节,可以参看:“敏捷大数据”公众号(6)可视应用平台Davinci

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180725A1DJDA00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券