开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

请问这种反压如何处理呀?百度说Flink CDC有处理这块的机制。但不知道官网上是哪篇文章?

请问这种反压如何处理呀?百度说Flink CDC有处理这块的机制。但不知道官网上是哪篇文章?

展开
收起
真的很搞笑 2023-12-01 08:33:53 81 0
3 条回答
写回答
取消 提交回答
  • 在处理Flink CDC的反压问题时,可以参考Flink官方文档中关于反压机制和处理的相关文章。Flink的反压机制主要是通过在网络流控中实现的一种保障机制,用于确保应用在7*24小时运行过程中,当某个处理单元由于到来的数据忽然增加,暂时性超出其处理能力时,不会出现数据丢失现象或者因为系统资源耗尽而导致应用崩溃。

    具体来说,当接收者队列满了后,发送者就会被阻塞,从而产生反压。Flink 1.5之后实现了自己托管的credit-based流控机制,在应用层模拟TCP的流控机制。此外,Flink还优化了反压检测的逻辑(使用基于任务 Mailbox 计时,而不在基于堆栈采样),并且重新实现了作业图的UI展示:Flink现在在UI上通过颜色和数值来展示繁忙和反压的程度。

    在处理反压问题时,可以先确定反压的位置,然后根据反压的情况分析,找到性能瓶颈的地方,进行相应的优化。例如,如果反压出现在Sink,可能是因为Sink处理数据缓慢导致的,这时可能需要优化Sink的处理逻辑或者增加Sink的并行度。

    2023-12-02 17:14:39
    赞同 展开评论 打赏
  • 当Flink作业存在反压时,CDC Source中使用的Binlog Client会因为反压的存在而无法继续读取数据。为了尽量减少数据库上残留的连接数,MySQL当某个Binlog Client连接不活跃时间超过数据库上配置的超时时间之后,会自动切断连接,导致作业异常。https://help.aliyun.com/zh/flink/support/faq-about-cdc?spm=a2c4g.11186623.0.i200

    2023-12-02 11:24:08
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    Flink CDC(Change Data Capture)本身具备反压机制,以防止上游数据源产生的大量数据流对下游系统造成过大的压力。这是因为 Flink 作为一个分布式流处理框架,已经内置了反压机制来确保系统的稳定性和可靠性。

    当 Flink 遇到反压时,它会通过控制数据的生产和消费速度来平衡整个数据流管道。具体来说,Flink 的反压机制可以分为以下几个步骤:

    1. 背压检测:当 Flink 中的某个算子由于资源限制无法及时处理输入的数据时,该算子会向其上游发送背压信号。
    2. 流量控制:收到背压信号后,上游算子会减缓生产数据的速度,从而降低整体数据流的速度。
    3. 恢复处理:一旦下游算子能够处理更多的数据,它就会向上游发送一个正向信号,表示可以继续加速数据流。
    4. 动态调整并行度:在某些情况下,Flink 可能会自动调整作业的并行度,以适应当前的负载和硬件资源。

    关于如何配置和使用 Flink 的反压机制,请参考以下官方文档:

    2023-12-01 15:06:09
    赞同 展开评论 打赏

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

相关产品

  • 实时计算 Flink版
  • 热门讨论

    热门文章

    相关电子书

    更多
    Flink CDC Meetup PPT - 龚中强 立即下载
    Flink CDC Meetup PPT - 王赫 立即下载
    Flink CDC Meetup PPT - 覃立辉 立即下载