Pull to refresh

Comments 2

самое не понятное
если допустим 10 машин на каждой по ksqldb:
если создать допустим таблицу, то на какой машине окажутся они? Автоматически синхронизируются по всем 10 экземплярам? Какая машина разгребает очередь в ktable?
тоесть все вопросы направлены на не ясность горизонтального масштабирования ksqldb.
Ksqldb — это абстракция поверх kafka streams, а kstream и ktable — работают как консьюмеры-продьюсеры поверх топиков и локальных хранилищ данных.

Обработка сообщений параллелится по количеству партиций (например, в топике 6 партиций — значит, можно распараллелить обработку только на 6 машин).

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

Сами данные из таблиц бэкапятся локально на случай падения приложения и бэкапятся в топик на случай падения машины.

Можно запрашивать данные и из других партиций/приложений, но это уже сложнее. Там есть global state store и есть interactive queries для таких вещей.
Sign up to leave a comment.