zoukankan      html  css  js  c++  java
  • RabbitMQ Connector

    https://ci.apache.org/projects/flink/flink-docs-master/dev/connectors/rabbitmq.html

    RabbitMQ Source

    This connector provides a RMQSource class to consume messages from a RabbitMQ queue. This source provides three different levels of guarantees, depending on how it is configured with Flink:

    1. Exactly-once: In order to achieve exactly-once guarantees with the RabbitMQ source, the following is required -
      • Enable checkpointing: With checkpointing enabled, messages are only acknowledged (hence, removed from the RabbitMQ queue) when checkpoints are completed.
      • Use correlation ids: Correlation ids are a RabbitMQ application feature. You have to set it in the message properties when injecting messages into RabbitMQ. The correlation id is used by the source to deduplicate any messages that have been reprocessed when restoring from a checkpoint.
      • Non-parallel source: The source must be non-parallel (parallelism set to 1) in order to achieve exactly-once. This limitation is mainly due to RabbitMQ’s approach to dispatching messages from a single queue to multiple consumers.
    2. At-least-once: When checkpointing is enabled, but correlation ids are not used or the source is parallel, the source only provides at-least-once guarantees.

    3. No guarantee: If checkpointing isn’t enabled, the source does not have any strong delivery guarantees. Under this setting, instead of collaborating with Flink’s checkpointing, messages will be automatically acknowledged once the source receives and processes them.
  • 相关阅读:
    Mybaits的10种通用的写法
    你清楚这几个Spring常用注解吗?
    面试时如何介绍自己
    Spring加载加密的配置文件
    MySQL主从复制
    CentOS7安装和配置MySQL
    Druid监控页面配置与使用
    Shiro配置URL过滤
    基于注解的Dubbo服务配置
    Java中常用的加密算法小结
  • 原文地址:https://www.cnblogs.com/rsapaper/p/9261747.html
Copyright © 2011-2022 走看看