Анонс Ruby digest: Монолит вместо микросервисов

Nikolai Rubanov (Darksa)
Заметки про Evrone
2 min readJun 2, 2023

Идти против тренда непросто, но это иногда приносит хороший результат. Расскажем, почему в одном из сервисов Amazon полностью отказалась от микросервисной архитектуры в пользу монолита. Ещё обсудим обновления полезных библиотек и экспериментальный JIT-компилятор, включённый в первое превью Ruby 3.3.0.

Команда Amazon Prime Video решила полностью отказаться от микросервисной архитектуры. И результат оказался ошеломляющим — команда сэкономила почти 90% эксплуатационных расходов, а система стала проще. Звучит удивительно, поскольку их инфраструктура изначально проектировалась как serverless-решение с прицелом на независимое масштабирование каждого компонента. Но, уже в процессе использования был достигнут жесткий предел масштабирования, а стоимость компонентов была непомерно высока.

Если вы часто работаете с XML и HTML в Ruby, то наверняка пробовали Nokogiri. Эта библиотека предоставляет простой и понятный API, имея внутри себя набор собственных парсеров. Она спроектирована быть безопасной по-умолчанию, а также создаёт удобную для разработки абстракцию. Недавно она получила обновление, позволяющее существенно повысить производительность. Побочные эффекты тоже есть и мы о них рассказали.

12 мая был открыт доступ к первой превью-версии будущего релиза Ruby. Помимо штатного YJIT, в сборку был добавлен экспериментальный компилятор RJIT. Существующие компиляторы MJIT и YJIT имеют общий недостаток — они оба полагаются на внешние компиляторы. MJIT зависит от компилятора языка C, а YJIT от компилятора Rust. Ноу-хау RJIT в том, что он создан на чистом Ruby, что делает его полностью самодостаточным.

Пару дней назад произошло примечательное событие — обновился парсер tty-option из TTY Toolkit. Это побудило нас написать об этом старом, но надёжном наборе инструментов. В нём 24 плагина для взаимодействия с командной строкой. Каждый из них максимально прост и годится для выполнения конкретной задачи. Но при необходимости их легко комбинировать между собой и получать достойный результат.

Подробности читайте в полной версии нашего дайджеста.

--

--