Зачем Яндекс Go создал отдельный язык для расчёта стоимости поездок

Зачем Яндекс Go создал отдельный язык для расчёта стоимости поездок

Зачем Яндекс Go создал отдельный язык для расчёта стоимости поездок

Цена поездки в Яндекс Go — это не расстояние, умноженное на минуты и километры. В расчёт вмешиваются геозоны, спрос, скидки, платные дороги, дополнительные остановки и требования вроде перевозки кота, велосипеда или лыж. Чтобы управлять этим хозяйством без бесконечных деплоев, разработчики вынесли алгоритм ценообразования из кода сервиса в собственный язык.

Как объяснили разработчики в статье на Хабре, прайсинг работает не только при заказе машины.

Он пересчитывает стоимость при смене маршрута или способа оплаты, завершении поездки, обращении в поддержку и проверке данных аналитиками. Цена при этом может быть фиксированной, интервальной или считаться по таксометру.

 

Сначала сервисы параллельно собирают параметры поездки: тарифную категорию, геозоны, скидки, повышенный спрос и дополнительные услуги. Зависимости между источниками выстраиваются в граф, а запросы выполняются асинхронно на базе userver. Если некритичный источник не ответил, весь расчёт не падает.

 

Сам алгоритм раньше можно было бы держать в C++, но он меняется в среднем дважды в неделю. Выкатка сервиса на 50 подов занимает около 40 минут, а лес динамических конфигов быстро превратил бы код в музей условных операторов.

Поэтому Яндекс разработал собственный DSL. В нём есть условия, функции, неизменяемые значения и fold вместо циклов. Правила собираются в последовательную цепочку: каждое преобразование получает текущую цену и параметры, а возвращает новый результат с метаданными. Грамматику описали через ANTLR 4, а верификатор Z3 проверяет, что программа не выдаст некорректную цену.

 

Теперь изменение алгоритма не требует пересборки сервиса, ошибочную версию можно быстро откатить, а каждый расчёт — воспроизвести по входным данным и промежуточным результатам.

 

В итоге прайсинг превратился в отдельную платформу, которой уже пользуются Такси, Доставка и сервис зарядки электромобилей.

Стойка пошла в рост: цены в российских ЦОДах взлетели на треть

Разместить серверы в российском дата-центре становится всё дороже. Во втором квартале 2026 года средняя стоимость стойки мощностью 5 кВт в Москве достигла 170,8 тыс. рублей — на 15,7% больше, чем годом ранее. В Санкт-Петербурге ценник подскочил сразу на 31,3%, до 138 тыс. рублей.

Такие данные приводят iKS-Consulting и 3data, которых цитирует «КоммерсантЪ».

Главная причина — предложение не поспевает за рынком. Деньги дорогие, строить новые ЦОДы решаются немногие, а в Москве ситуацию усугубляют ограничения на выделение площадок и подключение к электросетям.

Ранее согласованные объекты ещё достроят, а вот новым проектам пробиться будет непросто.

Свободное пространство съедают и задачи искусственного интеллекта. Традиционные машинные залы рассчитаны на 5-8 кВт на стойку, тогда как GPU-оборудованию требуется уже 15-20 кВт. После переоборудования зала вместо 200 стандартных стойко-мест может остаться лишь 50-70. Нейросети хотят больше электричества — рынок отвечает меньшим числом мест и большим счётом.

К ценнику добавляются расходы на электроэнергию, безопасность, страхование критической инфраструктуры, усложнившуюся логистику и создание запасов оборудования. ЦОДы перекладывают затраты на арендаторов, те — на своих клиентов. Платит последний в цепочке.

В 3data считают, что рост цен может продолжаться как минимум до 2027-2028 годов. Ситуацию способно изменить появление новых игроков, включая девелоперов, которые всё активнее присматриваются к строительству дата-центров.

Пока же часть заказчиков уходит в облака, арендует выделенные серверы и платформенные сервисы. На фоне дефицита стойка превращается почти в недвижимость: места мало, вход дорогой, а желающих меньше не становится.

По данным BusinesStat, объём российского рынка коммерческих ЦОДов по итогам 2025 года достиг 148 млрд рублей.

RSS: Новости на портале Anti-Malware.ru