为什么在 API 返工中没有在 Kafka StreamsBuilder 的 table 方法中指定 StoreName?

Why in the API rework was StoreName not specified in the table method of Kafka StreamsBuilder?

在 Kafka StreamsBuilder 中,table 的签名仅为:

table(java.lang.String topic)

https://kafka.apache.org/10/javadoc/org/apache/kafka/streams/StreamsBuilder.html

与之前一样,您可以提供商店名称:

table(java.lang.String topic, java.lang.String queryableStoreName)

https://kafka.apache.org/0110/javadoc/org/apache/kafka/streams/kstream/KStreamBuilder.html

为什么要删除它?

它没有被删除,但是 API 被重做了。请阅读 API 更改的升级说明:https://kafka.apache.org/11/documentation/streams/upgrade-guide

特别是对于此更改,通过 KIP-182 记录了完整的详细信息:https://cwiki.apache.org/confluence/display/KAFKA/KIP-182%3A+Reduce+Streams+DSL+overloads+and+allow+easier+use+of+custom+storage+engines

您现在可以通过Materialized参数指定店铺名称:

table(String topic, Materialized materialized);