15.12.2020 Новости, МенеджментМонолитные приложения — отличное решение, когда нужно запуститься «здесь и сейчас». А вот потом, когда появляется задача масштабироваться, гибкости монолиту уже не хватает. Так что «рукастые» инженеры создают микросервисную архитектуру. Меня зовут Василий Клюев, я — директор по разработке в облачном хранилище Platformcraft, и в этой статье расскажу, как мы построили надежную систему объектного хранения с различными инструментами для работы с медиаконтентом, а также почему мы выбрали Rust и Go. От монолита к микросервисам: зачем вообще переходить? Сначала чуточку о боли. Мы создали собственное объектное хранилище в 2012 году для хранения большого объема медиафайлов. Распределенный монолит позволил нам быстро развернуть сервис и закрыть потребности небольшого количества заказчиков. Система состояла из различных сервисов, каждый из которых выполнял определенную функцию, а связывала их единая база данных. То есть была апишка (собственный API), был storage (хранилище), два бэкэнда (сам веб-сервис), транкодер и между ними шарилась БД. Любые изменения в базе данных вызывали эффект домино: абсолютно каждую службу приходилось перезапускать и, самое жесткое, что в системе был транкодер. Куча людей отправляли видео на транскодирование, и если мы перезапускали службу, то все задачи пропадали. #IMAGE_228252# Transcoder — сервис транскодирования. Транскодирование — процесс преобразования аудио/видео потоков внутри медиафайла или потока прямого вещания. Потоки декодируются, параметры ...
читать далее.