flink消费rabbitmq
时间: 2023-09-25 11:10:44 浏览: 230
Flink消费RabbitMQ的过程涉及到使用RabbitMQ AMQP Java Client这个连接器。该连接器提供了一个类RMQSource,用于消费来自RabbitMQ队列的消息。消费RabbitMQ数据源的保证级别可以根据Flink的配置进行设置。
为了实现仅有一次消费RabbitMQ数据源,需要满足以下条件:
1. 使用可检查点:在检查点生效后,消息会被互相确认,并且从RabbitMQ中删除。
2. 使用相关编号:提交到RabbitMQ的消息必须设置一个相关编号,在检查点恢复时,源会利用相关编号去重已经处理过的数据。
3. 非并行源:为了实现仅有一次消费,源必须设置为非并行(并行度为1)。这是因为RabbitMQ使用单一队列来调度消息给多个消费者。
需要注意的是,Flink本身并不重写RabbitMQ AMQP Java Client的源码,也不对其进行打包成二进制文件。用户可以基于Flink的RabbitMQ连接器创建和发布拓展开的工作,但可能会受到Mozilla Public License v1.1 (MPL 1.1)的一些限制。这个连接器是依赖于"Maven依赖 RabbitMQ AMQP Java Client"的,其使用了MPL 1.1许可。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
阅读全文