目前,我正在编写这个问题,目前还没有任何带有apache和xslt标记的问题。
我是一个“经典”的面向消息的中间件(BizTalk,TIBCO,.)刚刚发现卡夫卡和它令人印象深刻的表现数字的家伙!
,然后,我想知道“Kafka-社区”关于如何在发布和消费之间转换消息有效负载的建议是什么.
事实上,在我的集成世界中,生产者公开的数据结构(即格式)通常与消费者所期望的数据结构(格式)完全不同。例如,作为一个生产者,我可能有一个大型机应用程序在COBOL文案结构中格式化数据,而我的前端应用程序希望使用现代的JSON格式。
@morganw09dev第一个答案之后的更新
我喜欢@morganw09dev的提议,但我对创建特定于消费者的主题感到有点“恼火”。我认为“主题B”(见@morganw09dev的第一个答案)是我的前端应用程序的特定主题,以便使用来自“主题A”的信息。用一句话来说,这种特殊性使“主题B”成为一个队列;-)这是好的,但我想知道这样的设计是否会“伤害”一个卡夫卡人;-)
从我对卡夫卡的初步阅读中可以清楚地看到,我也应该更多地了解风暴.但是,根据https://flink.apache.org/features.html的图表,我发现Flink看起来比Storm更有表现力,现在@morganw09dev已经提到了Samza!这意味着我不知道从哪里开始;-)
最后,我想用XSLT编写我的转换代码,在Java中,我认为撒克逊是领先的XSLT处理器之一。你知道Saxon和Storm,Flink或Samza有什么“整合”吗?或者,也许我的问题没有意义,我必须找到另一种“方式”来使用萨克森与卡夫卡。
目前,我正在撰写这篇评论,目前还没有任何问题,无论是萨克森还是阿帕奇-卡夫卡,阿帕奇风暴,阿帕奇-flink和/或apache-samza。
发布于 2015-12-10 01:15:18
卡夫卡本身不能用来转换数据。它只用于存储以后使用的数据。
一个想法是有一个三部分的架构。
Kafka Topic A => Transformer => Kafka Topic B根据你的例子。您的生产者将COBOL相关数据推送到Kafka主题A。您的转换器从主题A读取,执行必要的转换,然后将JSON输出到主题B。一旦进入主题B,前端应用程序就可以以其首选的格式读取它。如果您使用该路由,可以使用Kafka的默认使用者和生产者定制转换器,也可以使用流框架(如阿帕奇·桑扎或阿帕奇风暴 )帮助处理消息传递。萨姆扎和卡夫卡最初都是在LinkedIn开发的,我相信这是很自然的合作。(虽然我从未试过桑扎)。
https://stackoverflow.com/questions/34189939
复制相似问题