775 подписчиков
В самой крупной инсталляции приложения VK Teams работают около 500 тысяч пользователей. Это On-Premises решение, оно развертывается на инфраструктуре клиента. Стабильную работу приложения, которым пользуются одновременно тысячи сотрудников, нам удается поддерживать благодаря ряду решений.
✓ Большинство внутренних сервисов переведено на Tarantool — решение, которое сочетает в себе сервер приложений, гибридное хранилище с гибкой схемой данных и мощные средства масштабирования. Tarantool дает нам возможность без снижения надежности существенно повысить скорость работы хранилища, получить лучшую управляемость. Это особенно важно для On-premises решений, управление которыми в большей степени остается на стороне пользователя.
✓ Обеспечение отказоустойчивости. Для коммуникации сервисов внутри VK Teams мы взяли за основу бинарный протокол обмена сообщениями IPROTO и добавили к нему контроллер Ctlr, который позволил нам обеспечить контроль над потоками данных между сервисами. Пара «экземпляр сервиса — БД» неделима и всегда имеет реплику, которая находится в активном состоянии и готова в любой момент взять на себя нагрузку. Такая реализация гарантирует доступность и устойчивость в разных сценариях.
✓ Шардирование пользовательских данных на уровне коммуникации сервисов дает нам повышенную безопасность. При взломе системы злоумышленник, прежде чем доберется до данных, должен пройти несколько сервисов, каждый из которых реализует механизмы защиты. Hо даже если теоретически злоумышленнику это удастся, то он получит доступ только к одному шарду, который хранит очень ограниченный набор информации и не имеет доступа ко всем данным. Это уменьшает потенциальный ущерб.
1 минута
15 июля 2024