0

Мне интересно узнать, какую технику и инструменты я должен использовать, чтобы иметь возможность отправлять уведомления в режиме реального времени пользователям. В частности, если я создаю систему обмена сообщениями.Как создавать уведомления в режиме реального времени в распределенном проекте?

Я вижу, что современные социальные сети могут отправлять уведомления о новых сообщениях почти сразу. Даже когда пользователь «A» из одной страны пишет сообщение пользователю «B» в другой стране, вы можете видеть, что пользователь «A» пишет сообщение, и вы сразу видите его (даже если эти пользователи живут на разных континентах).
Я попытался выяснить, как это возможно, и найти любую информацию об этом, но безуспешно.
Единственное, что я узнал, это техника, когда мы используем сервер Redis или RabbitMQ с несколькими серверами, которые действуют как издатели и подписчики. Наши серверы API получают новые сообщения, затем они выталкивают новое сообщение в очередь, после чего подписчики получают сообщения, и если у них есть открытый WebSocket с получателем, они нажимают это сообщение в WebSocket, и клиент получает сообщение.

Но это действительно не сработает, если у вас есть распределенный проект, и ваши клиенты подключены к ближайшим серверам в ближайшем центре обработки данных.

Вопрос в том, какие технологии/технологии/все, что мы должны использовать, чтобы создавать уведомления в распределенном проекте?

ответ

0

Если вы разрабатываете распределенное приложение/систему с использованием веб-технологий, вы можете рассмотреть вопрос о создании так называемого Progressive Web App. С PWA вы можете добавить push notifications относительно простым способом. Вы можете начать с подхода PWA, а затем решить позже, если потребуется разработка собственного приложения (например, iOS или Android).

Существует множество ресурсов для изучения и руководства разработкой прогрессивных веб-приложений. Проверьте ссылки, упомянутые выше, и вы можете сделать это codelab в качестве отправной точки.