Как я могу слушать кассандру и транслировать ее в режиме реального времени, используя websocket? - PullRequest
0 голосов
/ 05 февраля 2020

Моя команда получает данные в реальном времени (с помощью Twitter API) и помещает их в kafka. Тогда улучшите это для нашего использования, передавая искру и сохраните это в кассандре. Итак, API данных в реальном времени -> kafka -> spark streaming -> cassandra.

Эта обработка данных (от API до cassandra) не моя работа. Моя роль в этом проекте состоит в том, чтобы передавать эти данные клиенту в режиме реального времени, сразу после обновления cassandra.

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

Сначала я создал сервер с использованием spring boot и подключил его с помощью cassandra. Но я обнаружил, что прослушивание изменений cassandra напрямую довольно сложно. Чтобы вызвать действия сервера с cassandra вещами, я нашел CDC для решения, но использование CDC кажется задачей более низкого уровня.

Или, возможно, я могу прикрепить еще одну kafka к cassandra с cassandra source connector, чтобы уведомить мой сервер о том, что на cassandra есть какое-то обновление, и передать точное содержание обновления. Тогда архитектура может быть

API данных в реальном времени -> kafka -> spark streaming -> cassandra -> kafka -> Spring сервер -> (сокет) -> клиент.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...