当前位置: 首页 > 知识库问答 >
问题:

Kafka --> spring cloud Data Flow(RabbitMQ) --> Kafka

蒋何平
2023-03-14

我遇到的问题是使用Spring Cloud数据流(SCDF)通过环境移动数据以将数据移动到正确的位置。以下是情况:

  • 有一个Kafka的生产版本,我只能订阅(只读)。(
  • 3 节点群集:节点 1:9092,节点 2:9092,节点 3:9092)
  • 我有一个在 Kubernetes 集群中运行的 SCDF 实例,该集群使用 RabbitMQ 主干(全部在一台服务器上)
  • 我有一个 Node Kafka 服务器,它正被另一家公司用来获取数据(SSL 保护)

在查看 SCDF 时,我没有看到将 Kafka 定义为源并读取到处理器(将是自定义的)并写入其他 Kafka 实例的方法

共有1个答案

夏晋
2023-03-14

您可以将命名目的地与多活页夹支持一起使用。

RabbitMQ Binding -> processor -> named Kafka Destination

https://dataflow.spring.io/docs/feature-guides/streams/taps/#tapping-a-stream

在 Spring Cloud 流术语中,命名目标是消息传递中间件或流媒体平台中的特定目标名称。它可以是 RabbitMQ 中的交流,也可以是 Apache Kafka 中的主题。在 Spring Cloud 数据流中,命名目标可以被视为直接源或接收器,具体取决于它是充当发布者还是使用者。您可以使用来自目标的数据(例如:Kafka 主题),也可以为目标(例如 Kafka 主题)生成数据。Spring Cloud 数据流允许您使用命名目标支持在消息传递中间件上构建往返目标的事件流管道。

http > :user-click-events

:user-click-events > jdbc

https://docs.spring.io/spring-cloud-stream/docs/3.1.3/reference/html/spring-cloud-stream.html#multiple-binders

当类路径上存在多个绑定程序时,应用程序必须指示要用于每个目标绑定的绑定程序。

因此:

:RO_Kafka > processor_1 | ... | processor_n > :otherKafka

processor_1processor_n配置了多活页夹。

 类似资料:
  • 本文向大家介绍比较RabbitMQ与Apache Kafka相关面试题,主要包含被问及比较RabbitMQ与Apache Kafka时的应答技巧和注意事项,需要的朋友参考一下 答:Apache Kafka的另一个选择是RabbitMQ。那么,让我们比较两者: 功能 Apache Kafka– Kafka是分布式的、持久的和高度可用的,这里共享和复制数据 RabbitMQ中没有此类功能 性能速度 A

  • 我被要求评估RabbitMQ而不是Kafka,但我发现很难找到一种比Kafka更适合消息队列的情况。有人知道消息队列在吞吐量、持久性、延迟或易用性方面更适合的用例吗?

  • egg-amqplib 基于 rabbitmq 消息队列封装的库 文档:https://github.com/zubincheung/egg-amqplib 示例代码:https://github.com/zubincheung/egg-amqplib/blob/master/test/fixtures/apps/amqplib-test/app/controller/home.js 'use s

  • RabbitMQ 是由 LShift 提供的一个 Advanced Message Queuing Protocol (AMQP) 的开源实现,由以高性能、健壮以及可伸缩性出名的 Erlang 写成,因此也是继承了这些优点。 AMQP 里主要要说两个组件:Exchange 和 Queue (在 AMQP 1.0 里还会有变动),如下图所示,绿色的 X 就是 Exchange ,红色的是 Queue

  • 用法 对于使用RabbitMQ绑定器,您只需要使用以下Maven坐标将其添加到您的Spring Cloud Stream应用程序: <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-stream-binder-rabbit</artifactId> </dependency>

  • 介绍 支持在 imi 框架中使用 支持 AMQP 协议的消息队列,如:RabbitMQ 支持消息发布和消费 Github: https://github.com/imiphp/imi-amqp Composer 本项目可以使用composer安装,遵循psr-4自动加载规则,在你的 composer.json 中加入下面的内容: { "require": { "imiphp