Spring Cloud 数据流中的 Kafka 源码
Posted
技术标签:
【中文标题】Spring Cloud 数据流中的 Kafka 源码【英文标题】:Kafka Source in Spring Cloud Data Flow 【发布时间】:2016-11-27 15:39:26 【问题描述】:我正在从 Spring XD 迁移到 Spring Cloud Data Flow。当我在寻找模块列表时,我意识到 Spring Cloud Flow 中没有列出一些源 - 其中之一是 KAFKA 源。
我的问题是为什么从 Spring Cloud 数据流中的标准源列表中删除了 KAFKA 源?
【问题讨论】:
【参考方案1】:当我在寻找模块列表时,我意识到 Spring Cloud Flow 中没有列出一些源
大部分应用程序已移植,其余应用程序的优先级递增 - 您可以跟踪 backlog 中的剩余子集。
我的问题是为什么从 Spring Cloud 数据流中的标准源列表中删除了 KAFKA 源?
Kafka 并没有被删除,事实上,我们在流式用例的上下文中对 Kafka 非常有意见,以至于它直接融入了 DSL。更多详情here。
例如,
(i) 如果您必须使用 Kafka 主题(作为来源),您的流定义将是:
stream create --definition ":someAwesomeTopic > log" --name subscribe_to_broker --deploy
(ii) 如果您必须写入 Kafka 主题(作为接收器),您的流定义将是:
stream create --definition "http --server.port=9001 > :someAwesomeTopic" --name publish_to_broker --deploy
(其中 *someAwesomeTopic* 是指定的目的地,一个主题名称)
【讨论】:
任何如何做到这一点的工作示例?,我编写了一个非常简单的控制台应用程序,它使用 kafka 生产者发送字符串“testme”并连接一个流以将其沙化到一个文件中,它尝试转换消息失败:oscsbkKafkaMessageChannelBinder:无法转换消息:746573746D65。这个数字是消息“testme”的ASCII表示 我假设这个 DSL 快捷方式使用数据流服务器本身用作流代理的相同 Kafka 集群。这与使用来自某些 Kafka 集群的消息并不完全相同。这对于同时具有源和接收器流应用程序的 RabbitMQ 是可能的。但令人惊讶的是,Kafka 却不见了。以上是关于Spring Cloud 数据流中的 Kafka 源码的主要内容,如果未能解决你的问题,请参考以下文章
带有Spring Cloud Stream的Kafka Streams进程中的Serd错误
我们如何在 Spring cloud dataflow kafka binder 中为 Kafka 维护租户数据隔离?
Spring Kafka/Spring Cloud Stream 如何保证涉及数据库和 Kafka 的事务性/原子性?
将Kafka Streams代码迁移到Spring Cloud Stream吗?
spring.cloud.stream.kafka.bindings.<channelName>.producer.configuration 未应用