Рассмотрим настройку потокового приложения с темой ввода из 6 разделов с хранилищем состояний. Предположим, что есть постоянный приток более 5 миллионов записей каждый час. Если приложение запускается на одном узле, состояние для всех входящих записей остается в том же узле. Теперь, если мы добавим еще один экземпляр на другой узел, я предполагаю, что он будет в равной степени уравновешивать разделы между двумя экземплярами (предположим, что мы установили максимальное количество потоков равным 3 в каждом экземпляре).
Полагаю, мой вопрос заключается в том, когда происходит перебалансировка, и если экземпляр раздела перемещается из одного в другой и наоборот, это приведет к восстановлению хранилища состояний для этих разделов в их соответствующих экземплярах, и это займет время. Разве частая перестановка разделов между экземплярами (особенно значительного объема) из-за перебалансировки не будет серьезной нагрузкой и повлияет на производительность потоковой передачи. Я не уверен, возможно ли полностью предотвратить перебалансировку (что, как я понимаю, для выгоды балансировки нагрузки), но не помешает ли это масштабированию с несколькими экземплярами для одной и той же темы, которая использует хранилище?