Импортозамещение в сети
Это некий аналог Skype , но более приспособленный для видео-конференций и дистанционного обучения.
Моей задачей было участие в разработке общей архитектуры и написание back-end сервера.
На самом деле серверов было 3.
Основной сервер должен был хранить в БД списки пользователей, сообщения чата, пересланные файлы, биллинговую информацию (в системе изначально была предусмотрена монетизация трафика) и т.д.
Медиа-сервер отвечал за трансляцию аудио/видео потоков.
Платежный сервер позволял производить пополнение счета пользователей большинством известных способов, как с использованием карт, так и онлайн платежных сервисов.
Теперь чуть подробнее. Ну, поскольку проект является коммерческим, и я давал «подписку о неразглашении», все секреты раскрывать не имею права… Расскажу о некоторых решениях, может и нестандартных, которые позволили реализовать проект. Ну и конечно, о моих любимых паттернах проектирования, которые были там применены (в продолжении давно начатого цикла).
Основной упор при разработке сервера был на его защищенность, для чего был разработан оригинальный протокол с шифрованием трафика. Все взаимодействие клиента с сервером делалось через удаленный вызов процедур, ну и конечно, речи не шло о передаче по сети SQL-запросов :).
Короткие сжатые запросы с пересылкой номера команды и упакованного массива аргументов гарантировали высокую степень защищенности. Были и другие решения для защиты от Ddos-атак, показавшие эффективность при тестировании…