Ищете крутые кейсы в digital? Посмотрите на номинантов Workspace Digital Awards 2026!
Дамир Аюпов
Технический прототип P2P-мессенджера с relay и store-and-forward доставкой сообщений
Дамир Аюпов
#Разработка чат-ботов и Mini Apps#Разработка программного обеспечения#Администрирование серверов

Технический прототип P2P-мессенджера с relay и store-and-forward доставкой сообщений

38 
Дамир Аюпов Россия, Казань
Поделиться: 0 0 0
Сфера

Информационные технологии и интернет

Сдано

Апрель 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-инструментами, локальной инфраструктурой и сервисной архитектурой.

1Проектирование архитектуры обмена сообщениями

На первом этапе была определена структура системы: отдельные клиенты, relay-сервер, bootstrap-компонент и локальные профили пользователей.

Также были описаны основные сценарии: инициализация профиля, отправка сообщения, получение сообщения через relay, подтверждение доставки и отладка состояния клиента.

2Реализация backend-компонентов и CLI

На втором этапе были реализованы основные приложения на Go: relay-сервис, bootstrap-компонент и клиентский CLI.

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

3Локальный demo-mode и отладочная инфраструктура

На финальном этапе был подготовлен локальный demo-mode, позволяющий быстро запускать несколько участников системы и relay-сервер.

Для удобства тестирования были добавлены скрипты запуска, debug-команды и локальные отладочные интерфейсы. Это позволило проверять сценарии обмена сообщениями без ручного поднятия каждого компонента отдельно.

Результат

В результате был создан рабочий R&D-прототип P2P-мессенджера с relay/store-and-forward логикой доставки сообщений.

Кейс демонстрирует:

- проектирование распределённой backend-архитектуры;

- разработку нескольких сервисных компонентов на Go;

- реализацию CLI-инструментов;

- работу с локальными профилями пользователей;

- сценарии отправки, получения и подтверждения сообщений;

- подготовку demo-mode для проверки системы;

- опыт построения технического прототипа с возможностью дальнейшего развития.

Проект полезен как инженерная демонстрация работы с сетевыми сценариями, сервисной логикой, отладкой и локальной инфраструктурой.

Дамир Аюпов
Дамир Аюпов

Россия Казань

Этот проект стал для меня практическим R&D по архитектуре распределённых систем и backend-коммуникации.

Главный фокус был не на пользовательском интерфейсе, а на сервисной логике: как организовать обмен сообщениями между участниками, как поддержать сценарий отложенной доставки через relay и как сделать локальную среду удобной для тестирования и демонстрации.

https://gitlab.com/DaAyupov21/anusrkn-p2p

Стек технологий


Оцените кейс
Спасибо за оценку
Выскажите мнение
Авторизуйтесь, чтобы добавить свой комментарий.
оставить заявку

Хотите заказать похожий проект?

Оставить заявку