когда пунктуация процессорного узла ищет данные в хранилище состояний, из какого раздела эти данные? - PullRequest
0 голосов
/ 06 марта 2019

Когда вызывается пунктуация потокового процессора, и я извлекаю все данные из хранилище состояний через вызов KeyValueStateStore.all (), получаю ли я все данные со всех разделов, назначенных этой задаче kafka-streams? Или это просто данные из одного раздела?

1 Ответ

1 голос
/ 07 марта 2019

Когда вы вызываете KeyValueStateStore.all() из Punctuator или Processor, вы получаете только данные из определенного раздела Раздел журнала изменений, который назначен для задачи потока. То же самое происходит, когда вы изменяете: помещаете, удаляете данные, которые применяются только к определенному разделу,

ех. Если входная тема имеет 3 раздела, то будут созданы три экземпляра Processor. Если каждое из них будет помещать в хранилище сообщений обработки состояния один и тот же ключ (например, k1), все сообщения будут заканчиваться в разных разделах (хотя они имеют один и тот же ключ).

Когда вы изменяете (помещаете, удаляете) в Processor данные в хранилище состояний, вы должны использовать ключ из вашего сообщения. Если вы этого не сделаете, это может привести к путанице, описанной выше.

...