Как создать поток из БД Cassandra? - PullRequest
0 голосов
/ 13 мая 2018

Я пытался создать что-то вроде приложения для чата или системы уведомлений, что-нибудь, что может «транслироваться» с Кассандры.

Я думал о том, чтобы сделать что-то вроде (wannabe pseudocode):

function newMessage() {
  addToCassandra(fromUser, room, message, time)
  sendToClient(fromUser, room, message, time)
}

Но есть кафка, шторм и т. Д., И я не уверен, что было бы наиболее эффективным способом сделать это.

У меня есть статический сервер для обслуживания приложения vuejs и сервер API, который обслуживает все запросы ajax / websocket с помощью graphql (и 3 серверов cassandra).

Новый пользователь может просто взять из базы данных cassandra историю и подключиться к веб-сокету, чтобы получать новые уведомления / сообщения.

Каков наилучший способ получения уведомлений и чатов в режиме реального времени или почти в реальном времени?

1 Ответ

0 голосов
/ 14 мая 2018

К сожалению, единственный способ получать потоковые обновления от cassandra - это опрос вашего приложения.И это значительно усложняет упорядочивание и дедупликацию элементов (это реализовано в плагине журнала для akka-persistence , вы можете проверить количество кода).Я бы рекомендовал использовать некоторые базы данных с поддержкой уведомлений ( foundation или rethink ), хотя у них есть свои подводные камни.

...