Helping, локалсторадж подойдет если у вас для покупки не надо регистрировать аккаунт. А если аккаунты есть, то что вам мешает охранять на беке, кроме собственной лени?
Иван Шумов, благодарю за интересный ответ. Меня это все давно интересовало, видимо пришло время этим занятся. Не знаю принято ли тут, поскольку ответ не совсем по вопросу, но если вынесете отдельно, то отмечу решением :)
Иван Шумов, спасибо за ответ. Обязательно так и буду пробовать все сделать (как только разберусь толком с сокетами). Я правильно понял, при выборе RabbitMQ/Kafka выбирать первый? И кстати, еще вопрос в поддержке этого хозяйства. Человек без продвинутого знания системного администрирования потянет такой зоопарк? На мне и так уже Монга, Редис, и еще Эластик будет. Как у Реббита с этим вопросом? Может стоит посмотреть в сторону облака (вижу у Compose и AWS есть), или они кушать не просят?
Ах да, и посоветуйте пожалуйста клиент Реббита к Ноде! (гугол дает немало вариантов)
И еще - видел Редис тоже для очередей используют. Вы пробовали?
Иван Шумов, да я понимаю что мое решение вряд ли масштабируется. но сейчас важнее собрать прототип. Message Broker - это значит разбиратся с RabbitMQ с нуля, который я в жизни даже не тыкал.
А что вы посоветуете? Как организовать такую задачу если "правильно"? Получается, в контроллере при создании записи в БД надо отправлять сообщение брокеру, а он уже отельному серверу сокетов? Какие инструменты смотреть, если у меня разработка на Ноде?
Иван Шумов, рилтайм оповещения. Например, представим ленту твитов. У меня готово сохранение твитов в БД, но для появления нового твита на странице нужно обновлять ее/делать новый запрос. Я хочу прикрутить в контроллере после успешного сохранения твита в БД, возврат его на клиент (не только создателя, но вообще трансляцию всем кто на этой странице).
В целом, я пока так сделал:
1. создал в главном файле инстанс socket.io
2. создал отдельно файл где общая логика сокетов, вне зависимости от моего рест апи (и сокеты и рест на одном сервере у меня сейчас)
3. имопртирую этот файл с сокетами в главный файл и передаю туда инстанс socket.io
4. ниже в главном файле добавляю к res socket.io, таким образом получая доступ к сокетам во всех контроллерах.
5. вроде все работает!