Эквивалент группы потребителей в Кассандре - PullRequest
2 голосов
/ 10 октября 2019

Я пытаюсь создать что-то вроде группы потребителей , как она существует в Kafka, но для Cassandra. Цель состоит в том, чтобы запрос был разбит на страницы и каждая страница выполнялась одним экземпляром приложения. Есть ли такое понятие, как группа потребителей один в Cassandra?

Ответы [ 2 ]

2 голосов
/ 11 октября 2019

TL; DR;в том, что нет, понятие группы потребителей не существует у клиентов в Кассандре. Бремя того, какой клиент обрабатывает то, что целиком лежит на разработчике приложения.

Вы можете использовать токены Кассандры для выборочного пейджинга.

Предполагается, что 2 клиента (простой пример) Клиент 1 страниц от -2 ^ 63 до 0 Клиент 2 страниц от 1 до 2 ^ 63 - 1

Приведенная выше идея предполагает, что вы хотите пролистать вседанные в чем-то похожем на пакетный процесс, который не подходит для Cassandra.

Если вы хотите получить последние N результатов, когда первая половина отправляется клиенту 1, а вторая - клиенту 2, вы можете использовать логический интервал в ключе разделения.

1 голос
/ 11 октября 2019

Если вы хотите масштабировать обработку большого количества строк Cassandra, вы можете рассмотреть масштабируемую платформу выполнения, такую ​​как Flink или Storm. Вы сможете распараллелить чтение строк и обработку строк, хотя распараллеливаемый источник (или носик в Storm) - это не то, что вы можете получить из коробки.

...