Ответы пользователя по тегу WebSocket
  • Верно ли я продумал архитектуру мессенджера?

    @0nkery
    1. Держать несколько соединений не нужно. Результаты прослушки редиса можно возвращать через один сокет.
    3. Да, разумеется, но будет ли большое количество пользователей? Если да, то ознакомьтесь с опытом Discord -- https://blog.discord.com/how-discord-stores-billio.... БД придется менять, скорее всего.
    4. По айди чата, если планируются разные виды чатов (1-1, групповой).
    5. Надо смотреть по доступным ресурсам. Кэш можно ограничить по памяти, чтобы не расползался. В таком случае какие-то чаты могут вывалиться или по каждому будет закэшировано немного, но что поделать.
    6. Хранить что-то в устройстве придется, чтобы показывать хотя бы старые сообщения, если нет сети, к примеру.
    Ответ написан
  • Как сделать микросервисы из вебсокетов?

    @0nkery
    Да, желательно, чтобы у вас была одна точка входа в систему, потому что нормальная настройка вебсокет-шлюза займет немало времени, да и это будет полезно, если вы вдруг решите изменить архитектуру -- добавить сервис C, к примеру. Ваш клиент эти тонкости волновать не должны (в общем случае).

    Дальше необязательно, чтобы клиент обращался напрямую к сервисам A и B -- вебсокет-шлюз может сам общаться с внутренними сервисами и реализовывать сложные сценарии взаимодействия в бэкенде.

    Не забывайте, что внутренняя сеть гораздо быстрее и стабильнее, чем внешняя, по которой будет ходить клиент -- чем больше коммуникаций будет внутри внутренней сети, тем лучше.

    Ну и подумайте еще раз -- а так ли нужны вам отдельные сервисы? Может быть, лучше обойтись монолитом?
    Ответ написан
    Комментировать