Меня немного смущает формулировка этой темы в документации kafka, поэтому я хочу спросить здесь, правильно ли я здесь интерпретирую или нет?
Так что, если я правильно понимаю, это единственный способмасштабировать приложение Kafka Stream, чтобы запустить новый экземпляр приложения (или увеличить количество потоковых потоков в приложении), это обеспечит увеличение числа потребителей в consumerGroup ('application.id'), поэтому я могу масштабировать свойПотоковое приложение до количества разделов темы (на самом деле, что произойдет, если моя потоковая топология подключена к нескольким темам, скажем, TopicA с 5 разделами и topicB с 3 Я присоединился к потокам для TopicA и TopicB, я думаю, я могу масштабироваться до3 экземпляра / потока в этом случае).
Теперь допустим, что у меня есть тема A с 5 разделами, и я запустил 3 экземпляра моего приложения, и если я настроил KTable в своей топологии, каждый KTable будет содержать информацию из определенного раздела.и я должен выяснитьповерх метаданных, в каком экземпляре (разделе) мой Key, так что же происходит, когда я запускаю 4-й экземпляр, скажем, ключ / значение, которое было KTable на instance3, теперь может перейти к KTable на instance4, не так ли?Один побочный вопрос, как долго продлится такая перебалансировка (думаю, это зависит от размера темы, поэтому предположим, что это займет 1 минуту, будет ли мое приложение, запрашивающее KTable, не отвечать на запросы во время этой операции?)
AДополнительный вопрос, будет ли этот механизм работать точно так же для 'streamBuilder.table (..)' и 'streambuilder.groupByKey (..). redu (..)' '?
И еще один последний вопрос, сноваТема с 5 разделами, но вместо запуска 3 экземпляров приложения, я запустил один экземпляр с 3 потоковыми потоками (num.stream.threads = 3), у меня снова будет 3 KTable, представляющих 5 разделов, будет ли он вести себя точно так же, как увеличениеномер экземпляра, если я изменю размер потока с 3 на 4.
Спасибо за ответы ..