《Apache Flink 案例集(2022版)》——1.数据集成——XTransfer-基Flink MongoDB CDC 在 XTransfer 的生产实践(上)

简介: 《Apache Flink 案例集(2022版)》——1.数据集成——XTransfer-基Flink MongoDB CDC 在 XTransfer 的生产实践(上)
+关注继续查看

作者:孙家宝 


用户背景

XTransfer 专注为跨境 B2B 电商中小企业提供跨境金融和风控服务,通过建立数据化、自动化、互联网化和智能化的风控基础设施,搭建通达全球的财资管理平台,提供开立全球和本地收款账户、外汇兑换、海外外汇管制国家申报等多种跨境金融服务的综合解决方案。 


业务需求

在业务发展早期,XTransfer选择了传统的离线数仓架构,采用全量采集、批量处理、覆盖写入的数据集成方式,数据时效性较差。随着业务的发展,离线数仓越来越不能满足对数据时效性的要求,XTransfer决定从离线数仓向实时数仓进行演进。而建设实时数仓的关键点在于变更数据采集工具和实时计算引擎的选择。  


经过了一系列的调研,在 2021 年 2 月份,XTransfer关注到了 Flink CDC 项目,Flink CDC 内嵌了 Debezium,使 Flink 本身具有了变更数据捕获的能力,很大程度上降低了开发门槛,简化了部署复杂度。加上 Flink 强大的实时计算能力和丰富的外部系统接入能力,成为了XTransfer构建实时数仓的关键工具。 


平台建设

在具体实现上,XTransfer集成了 MongoDB 官方基于 Change Streams 实现的 MongoDB Kafka Connector。通过 Debezium EmbeddedEngine,可以很容易地在 Flink 中驱动 MongoDB Kafka Connector 运行。通过将 Change Stream 转换成 Flink UPSERT changelog,实现了 MongoDB CDC TableSource。配合 Change Streams 的 resume 机制,实现了从 checkpoint、savepoint 恢复的功能。  


如 FLIP-149 所述,一些运算 (如聚合) 在缺失 -U 消息时难以正确处理。对于 UPSERT 类型的 changelog,Flink Planner 会引入额外的计算节点 (Changelog Normalize) 来将其标准化为 ALL 类型的 changelog。 

image.png



支持特性

支持 Exactly-Once 语义;

支持全量、增量订阅;

支持 Snapshot 数据过滤;

支持从检查点、保存点恢复;

支持元数据提取 。  


《Apache Flink 案例集(2022版)》——1.数据集成——XTransfer-基Flink MongoDB CDC 在 XTransfer 的生产实践(下)https://developer.aliyun.com/article/1228397


相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
相关文章
|
2月前
|
消息中间件 Kafka Apache
Apache Doris Routine Load快速体验之案例(2)2
Apache Doris Routine Load快速体验之案例(2)2
81 0
|
2月前
|
消息中间件 固态存储 Kafka
Apache Doris Routine Load快速体验之案例(2)1
Apache Doris Routine Load快速体验之案例(2)1
37 0
|
2月前
|
Apache
Apache Doris Broker快速体验之案例(3)2
Apache Doris Broker快速体验之案例(3)2
21 0
|
2月前
|
存储 固态存储 Java
Apache Doris Broker快速体验之案例(3)1
Apache Doris Broker快速体验之案例(3)1
44 0
Apache Doris Broker快速体验之案例(3)1
|
5月前
|
机器学习/深度学习 数据采集 人工智能
《Apache Flink 案例集(2022版)》——卷首语
《Apache Flink 案例集(2022版)》——卷首语
249 0
|
5月前
|
SQL 消息中间件 搜索推荐
《Apache Flink 案例集(2022版)》——1.数据集成——小米-Flink 流批一体在小米的实践
《Apache Flink 案例集(2022版)》——1.数据集成——小米-Flink 流批一体在小米的实践
273 0
|
5月前
|
SQL 调度 Apache
《Apache Flink 案例集(2022版)》——1.数据集成——小米-Flink 流批一体在小米的实践(2)
《Apache Flink 案例集(2022版)》——1.数据集成——小米-Flink 流批一体在小米的实践(2)
186 0
|
5月前
|
消息中间件 SQL canal
《Apache Flink 案例集(2022版)》——1.数据集成——小米-Flink 流批一体在小米的实践(3)
《Apache Flink 案例集(2022版)》——1.数据集成——小米-Flink 流批一体在小米的实践(3)
172 0
|
5月前
|
消息中间件 SQL canal
《Apache Flink 案例集(2022版)》——1.数据集成——小米-Flink 流批一体在小米的实践(3)
《Apache Flink 案例集(2022版)》——1.数据集成——小米-Flink 流批一体在小米的实践(3)
192 0
|
5月前
|
消息中间件 SQL 存储
《Apache Flink 案例集(2022版)》——1.数据集成——伴鱼-伴鱼基于 Flink 构建数据集成平台的设计与实现(1)
《《Apache Flink 案例集(2022版)》——1.数据集成——伴鱼-伴鱼基于 Flink 构建数据集成平台的设计与实现(1)
117 0
相关产品
实时计算 Flink版
推荐文章
更多