Импортозамещение в сети

Хочу рассказать о проекте, в котором я участвовал с 2010 по 2014 г.

Это некий аналог Skype , но более приспособленный для видео-конференций и дистанционного обучения.

Моей задачей было участие в разработке общей архитектуры и написание back-end сервера.

На самом деле серверов было 3.

Основной сервер должен был хранить в БД списки пользователей, сообщения чата, пересланные файлы, биллинговую информацию (в системе изначально была предусмотрена монетизация трафика) и т.д.

Медиа-сервер отвечал за трансляцию аудио/видео потоков.

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

Теперь чуть подробнее. Ну, поскольку проект является коммерческим, и я давал «подписку о неразглашении», все секреты раскрывать не имею права… Расскажу о некоторых решениях, может и нестандартных, которые позволили реализовать проект. Ну и конечно, о моих любимых паттернах проектирования, которые были там применены (в продолжении давно начатого цикла).

Основной упор при разработке сервера был на его защищенность, для чего был разработан оригинальный протокол с шифрованием трафика. Все взаимодействие клиента с сервером делалось через удаленный вызов процедур, ну и конечно, речи не шло о передаче по сети SQL-запросов :).

Короткие сжатые запросы с пересылкой номера команды и упакованного массива аргументов гарантировали высокую степень защищенности. Были и другие решения для защиты от Ddos-атак, показавшие эффективность при тестировании…