有几个应用程序必须集成在一起,它们必须交换问题。所以他们中的一个会得到这个问题,然后做一些事情,然后改变这个问题的状态。其他可能涉及到这个问题的应用程序应该得到新的信息。这将一直持续到问题达到最终关闭状态。问题是必须Map这个问题,因为这些应用程序并不都支持相同的数据格式。
我不确定是将整个问题始终发送还是将新状态作为事件发送。
Kafka如何支持数据转换?
如果我的问题有附件怎么办?(>5mb)
谢谢你的建议
有几个应用程序必须集成在一起,它们必须交换问题。所以他们中的一个会得到这个问题,然后做一些事情,然后改变这个问题的状态。其他可能涉及到这个问题的应用程序应该得到新的信息。这将一直持续到问题达到最终关闭状态。问题是必须Map这个问题,因为这些应用程序并不都支持相同的数据格式。
我不确定是将整个问题始终发送还是将新状态作为事件发送。
Kafka如何支持数据转换?
如果我的问题有附件怎么办?(>5mb)
谢谢你的建议
2条答案
按热度按时间yquaqz181#
是的,确实有道理。
kafka可以通过kafka streams api和ksql进行转换,ksql是构建在kafka streams之上的流式sql引擎。
Kafka通常用于较小的信息;对于较大的内容,需要考虑的一种模式是将其存储在对象存储中(例如s3,或类似的存储,具体取决于您选择的体系结构),并在kafka消息中引用指向它的指针。
62lalag42#
我不确定是将整个问题始终发送还是将新状态作为事件发送。
你可以这样做。如果您发送整个问题,然后将所有后续更新发布到同一问题,作为包含公共Kafka消息密钥(可能是唯一的问题id号)的Kafka消息,则可以将您的Kafka主题配置为压缩主题,并且代理将自动删除任何旧的数据副本以节省磁盘空间。
如果选择只发送增量(更改),则需要注意保留期足够长,以便在问题仍然打开并发布更新时,初始完整记录永远不会过期。默认保留期为7天。
Kafka如何支持数据转换?
对。在kafka中,通过单个消息转换(smt)连接,或者在kafka流中使用本机流代码(在java中)。
如果我的问题有附件怎么办?(>5mb)
您可以为大型消息配置kafka,但如果它们远远大于5或10 mb,则通常最好遵循声明检查模式,将它们存储在kafka外部,并将引用链接发布回外部存储的数据,以便使用者可以从kafka检索带外附件。