Тизер: System design. Chat/Messaging system
Функциональные требования (FR)
Обязательные:
- Отправка сообщений 1-to-1
- Групповые чаты
- Упорядоченность сообщений внутри чата
- Статусы доставки:sent, delivered, read
- История сообщений
- Синхронизация между устройствами
- Поддержка online / offline клиентов
Опциональные (дополнительные для разбора):
- Редактирование сообщений
- Удаление (soft / hard)
- Реакции
- Replies / threads
- Forwarding
- Attachments (фото, видео, файлы)
- Search
system-design
Danil Nikishin
- шифровать в асимметричном режиме, интересно было бы если механизм покрывал весь пакет целиком и подумать в сторону если вдруг ключ будет скомпрометирован
- сможем построить схему на более низком уровне сети(поверх udp), условно p2p чатик, где клиенты без белых ip смогут общаться напрямую, минуя сервер(ps сервер только может выступать как NAT те хранящий информацию о публичных адресах клиентов)
- аудио, видео, шаринг экрана кажется интересно было бы задизайнить
Dec 15 2025 14:41 (changed)

1
Kirill Grishchuk
Danil Nikishin, кажется это перебор, но я подумаю
Dec 15 2025 20:40 

1