Как создать поток из базы данных Cassandra?

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

Я думал о создании чего-то вроде (wannabe pseudocode):

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

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

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

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

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

websocket,cassandra,real-time,

0

Ответов: 1


1

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

WebSocket, Cassandra, в режиме реального времени,
Похожие вопросы