我有一个kafka流应用程序,该应用程序从几个主题中获取数据并加入数据并将其放在另一个主题中。
kafka配置:
5 kafka brokers
Kafka Topics - 15 partitions and 3 replication factor.
每小时消耗/制作数百万张记录。
我正在制作kStream-kstream加入,从而创建2个内部主题。而KStream-Ktable Join将创建1个内部主题 1表。
在性能和其他因素方面更好?
选择不是绩效问题,而是语义的问题:JOIN result 应该是什么?两者都加入,要计算完全不同的结果,因此您应该选择满足应用程序需求的语义。
CP文档和AK Wiki中记录了不同的语义:
- https://docs.confluent.io/current/streams/developer-guide.html#joining
- https://cwiki.apache.org/confluence/display/kafka/kafka streams joins join semantics