Flink CDC实时的调度 有什么组成部分吗?

Flink CDC实时的调度 有什么组成部分吗?

展开
收起
真的很搞笑 2023-11-15 08:10:15 140 分享 版权
2 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    Flink CDC 实时调度主要由以下几个组件组成:

    1. Flink JobManager:负责管理 Flink 程序的运行和资源分配。
    2. Flink TaskManager:负责执行具体的任务,并将结果返回给 JobManager。
    3. Kafka Broker:存储并分发数据,为 Flink CDC 提供实时数据源。
    4. ZooKeeper:用于协调 Kafka 集群中的节点状态,以及 Flink CDC 的实时调度。
    5. MySQL/MongoDB 数据库:提供要同步的数据。

    在实时调度过程中,Flink CDC 会定期从 Kafka 中读取新的数据,并将其转换为适合 Flink 处理的数据流。然后,这些数据流会被发送到 Flink TaskManager 进行处理,并最终将结果写入目标数据库中。
    此外,ZooKeeper 在实时调度过程中也起着重要的作用。它会监控 Kafka 和 Flink 的状态,并确保它们之间的协调。如果出现任何问题,ZooKeeper 将尝试重新安排任务或通知管理员进行干预。

    2023-11-15 22:37:18
    赞同 1 展开评论
  • Flink CDC实时调度主要由以下几个组成部分:

    1. 源连接器:Flink社区开发的flink-cdc-connectors组件,这是一个可以直接从MySQL、PostgreSQL等数据库直接读取全量数据和增量变更数据的source组件。

    2. 数据抓取:Flink CDC会实时抓取增量的更新记录,实时提供与数据库中一致性的快照,如果是更新记录,会更新已有数据。如果是插入记录,则会追加到已有数据,整个过程中,Flink CDC提供了一致性保障,即不重不丢。

    3. 数据处理:在获取到数据库变更数据后,Flink CDC会根据用户定义的规则进行处理,例如清洗、转换等操作。

    4. 接收器:将处理后的数据发送到下游的接收端,如Redis、Elasticsearch、ClickHouse等多个接收端,可以各自分析自己的数据集,互不影响,同时又和上游数据保持实时的同步。

    5. 实现原理:通常来讲,CDC分为主动查询和事件接收两种技术实现模式。对于主动查询而言,用户通常会在数据源表的某个字段中,保存上次更新的时间戳或版本号等信息,然后下游通过不断的查询和与上次的记录做对比,来确定数据是否有变动,是否需要同步。

    2023-11-15 09:49:02
    赞同 展开评论

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

还有其他疑问?
咨询AI助理