Информационные технологии и интернет
Апрель 2026
Разработать технический прототип распределённого мессенджера с возможностью прямой и отложенной доставки сообщений через relay-сервер.
Цель проекта — исследовать архитектуру P2P-коммуникации и собрать демонстрационный backend-прототип, в котором несколько клиентов могут обмениваться сообщениями напрямую или через промежуточный relay-компонент по store-and-forward модели.
Отдельной задачей было реализовать удобный локальный demo-mode, чтобы можно было запускать несколько участников, relay-сервис и отладочные интерфейсы без сложной ручной настройки окружения.
Проект был реализован на Go как набор отдельных приложений и сервисов.
Архитектура включает bootstrap-компонент, relay-сервис и клиентское CLI-приложение. Relay отвечает за промежуточную доставку сообщений в сценариях, когда прямое соединение между участниками недоступно. Для хранения сообщений в relay-режиме используется простое локальное хранилище.
В проекте были реализованы:
- клиентские профили участников;
- локальный demo-mode для запуска нескольких клиентов;
- relay-сервис для store-and-forward доставки;
- сценарии отправки и получения сообщений;
- подтверждение получения сообщений;
- отладочные команды и debug-интерфейсы;
- скрипты для локального запуска и проверки работы системы.
Проект показывает опыт разработки backend-компонентов для распределённой системы, работы с сетевыми сценариями, CLI-инструментами, локальной инфраструктурой и сервисной архитектурой.
На первом этапе была определена структура системы: отдельные клиенты, relay-сервер, bootstrap-компонент и локальные профили пользователей.
Также были описаны основные сценарии: инициализация профиля, отправка сообщения, получение сообщения через relay, подтверждение доставки и отладка состояния клиента.
На втором этапе были реализованы основные приложения на Go: relay-сервис, bootstrap-компонент и клиентский CLI.
Клиентское приложение получило команды для инициализации профиля, запуска прослушивания, отправки сообщений, получения сообщений через relay и подтверждения доставки. Relay-сервис был подготовлен для локального запуска и хранения сообщений.
На финальном этапе был подготовлен локальный demo-mode, позволяющий быстро запускать несколько участников системы и relay-сервер.
Для удобства тестирования были добавлены скрипты запуска, debug-команды и локальные отладочные интерфейсы. Это позволило проверять сценарии обмена сообщениями без ручного поднятия каждого компонента отдельно.
В результате был создан рабочий R&D-прототип P2P-мессенджера с relay/store-and-forward логикой доставки сообщений.
Кейс демонстрирует:
- проектирование распределённой backend-архитектуры;
- разработку нескольких сервисных компонентов на Go;
- реализацию CLI-инструментов;
- работу с локальными профилями пользователей;
- сценарии отправки, получения и подтверждения сообщений;
- подготовку demo-mode для проверки системы;
- опыт построения технического прототипа с возможностью дальнейшего развития.
Проект полезен как инженерная демонстрация работы с сетевыми сценариями, сервисной логикой, отладкой и локальной инфраструктурой.
![]()
Дамир Аюпов
Россия Казань
Этот проект стал для меня практическим R&D по архитектуре распределённых систем и backend-коммуникации.
Главный фокус был не на пользовательском интерфейсе, а на сервисной логике: как организовать обмен сообщениями между участниками, как поддержать сценарий отложенной доставки через relay и как сделать локальную среду удобной для тестирования и демонстрации.