Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
 Система комментирования в реальном времени  [new]
RUSYA
Member

Откуда: Харьков
Сообщений: 426
Сервис наподобие Disqus - много страниц, под страницами блок древовидных комментариев. Среди плюшек и свистелок - реалтайм, комментарии появляются по мере того как их отправляют. Тоесть функционал уже и чат напоминает.

Пока всё у заказчиков в голове - стоит задача выбрать инструменты хранения.

Backend на NodeJS, клиенты коннектятся по вебсокету, со стороны сервера вот думаем чё как...

Понятное что нужен брокер сообщений - думали взять Redis чисто для коммуникации, а хранить данные в Postgres используя расширения ltree для хранения комментариев.

Но с учетом, что сложных выборок нет - может быть нам не нужен Postgres? Была предложена идея взять Kafka и хранить комменты прямо в нём. Там брокер сообщений, и что-то типа БД.

Может кто умнее еще что подскажет?
Задача сделать так чтобы горизонтально масштабировалось относительно без боли.
25 янв 21, 20:40    [22269160]     Ответить | Цитировать Сообщить модератору
 Re: Система комментирования в реальном времени  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5688
RUSYA,

Ну идея с Kafka не так уж плоха, если не нужно хранить сообщения "вечно".
А так по хорошему ещё надо прикрутить что-нибудь вроде Elastic, для поиска по сообщениям.
27 янв 21, 10:36    [22269934]     Ответить | Цитировать Сообщить модератору
 Re: Система комментирования в реальном времени  [new]
RUSYA
Member

Откуда: Харьков
Сообщений: 426
mad_nazgul,

Спасибо за ответ. Но всетаки почему бы тогда не Redis чисто как брокер? Вот тут коллега рассказывает про это https://habr.com/ru/post/440546/

А хранить в Elastic а не в postgre и других реляционных базах.

Наверное конечно уместнее задать это в сообществе Redis'a \ Kafka
28 янв 21, 00:35    [22270492]     Ответить | Цитировать Сообщить модератору
 Re: Система комментирования в реальном времени  [new]
Favn
Member

Откуда:
Сообщений: 584
RUSYA,
Предлагаю почитать про Redis streams (появились в 5) и ReJSON.
Тут и полноценный брокер с доставкой одному или одному из группы, и хранение.
Современный Редис как оперативное хранилище и как брокер имхо сильно недооценен.

Сообщение было отредактировано: 31 янв 21, 01:10
31 янв 21, 01:13    [22271921]     Ответить | Цитировать Сообщить модератору
 Re: Система комментирования в реальном времени  [new]
Favn
Member

Откуда:
Сообщений: 584
RUSYA
почему бы тогда не Redis чисто как брокер? Вот тут коллега рассказывает про это
Коллега тут не прав. После выхода стримов в Редис 5 у pubsub осталось совсем немного применений.
31 янв 21, 01:15    [22271923]     Ответить | Цитировать Сообщить модератору
 Re: Система комментирования в реальном времени  [new]
hVostt
Member

Откуда:
Сообщений: 19317
RUSYA
Но с учетом, что сложных выборок нет - может быть нам не нужен Postgres? Была предложена идея взять Kafka и хранить комменты прямо в нём. Там брокер сообщений, и что-то типа БД.


Редактирование, удаление, модерирование, блокировка...
Брокер нужен для масштабирования и коммуникации.
Хранить он может, доставать как будете и все вышеуказанные операции выполнять?

А насчёт "сложных выборок нет", ну это очень-очень наивно ))
10 фев 21, 06:48    [22278585]     Ответить | Цитировать Сообщить модератору
 Re: Система комментирования в реальном времени  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 2337
RUSYA
Там брокер сообщений, и что-то типа БД.

Это не бд.

RUSYA
Но всетаки почему бы тогда не Redis чисто как брокер?

Брокер между чем и чем? Хочешь кластер делать? Кмк, это тебе не нужно, хватит и одного инстанса ноды.

Не понятно, что тебе советовать, потому что не понятно, что ты хочешь и в каком объёме. Чатик. Ну ок, для 3.5 пользователей чатик можно сделать на одной ноде и сообщения сбрасывать в хоть файлы / mysql / sqlite.
10 фев 21, 07:12    [22278590]     Ответить | Цитировать Сообщить модератору
Все форумы / Сравнение СУБД Ответить