Как выжать максимум из железа на примере детектора фрода
Представьте ситуацию: вам дают два ядра процессора, два гигабайта оперативки и просят построить систему, которая мгновенно находит мошенников среди миллионов транзакций. Звучит как типичная задача с собеседования в бигтех, но на самом деле это суть бразильского челленджа Rinha de Backend.
Я наткнулся на репозиторий rinha-de-backend-2026 и пропал там на пару вечеров. Это не просто очередной список библиотек, а живой полигон для тех, кто любит оптимизацию и хочет посмотреть, как разные языки программирования ведут себя в экстремальных условиях.

Что это за движуха
Rinha de Backend (в переводе с португальского — «Битва бэкендов») — это соревнование, которое придумал разработчик Франческо Зане. Идея простая: участники пишут API по строгому ТЗ, а потом их решения прогоняют через нагрузочные тесты.
В 2026 году темой стала детекция фрода с использованием векторного поиска. Это сейчас модно из-за хайпа вокруг AI, но здесь акцент не на обучении моделей, а на инженерной части: как быстро искать похожие векторы, когда ресурсов почти нет.
Почему это интересно разработчику
Обычно мы пишем код в облаке, где можно просто докинуть ресурсов, если всё тормозит. Здесь так не выйдет. Ограничения жесткие, и они заставляют думать о вещах, про которые в обычной жизни забываешь.
Например, в прошлых выпусках люди умудрялись обходить ограничения по памяти, используя кастомные аллокаторы или вообще отказываясь от тяжелых фреймворков. В текущем репозитории уже видно, что основным языком для базовых реализаций выбран C, что как бы намекает на серьезность намерений.
Векторный поиск как главный вызов
В этом году задача усложнилась. Нужно не просто сохранить данные, а реализовать поиск по сходству. В контексте фрода это работает так: транзакция представляется в виде набора чисел (вектора), и система ищет, не похожа ли она на те, что уже помечались как подозрительные.
В репозитории заложены интересные механики:
- Ограничение по CPU и RAM заставляет выбирать между точностью поиска и скоростью.
- Нужно продумать архитектуру, которая не «ляжет» под шквалом запросов.
- Векторные индексы обычно прожорливы до памяти, так что участникам придется изобретать велосипеды или очень тонко настраивать готовые решения вроде pgvector или Qdrant.
Архитектурные ограничения
Проект интересен тем, что он задает рамки. Вы не можете просто поставить кластер Kubernetes. Обычно правила подразумевают использование Docker Compose, где четко прописаны лимиты.
Интересно наблюдать, как люди выбирают инструменты. Кто-то берет Rust и пытается выжать всё из безопасности памяти, кто-то пишет на Go из-за удобных горутин, а кто-то шокирует всех, показывая отличные результаты на PHP или Bun. Это отличная возможность увидеть реальный перформанс технологий, а не синтетические бенчмарки из маркетинговых статей.
Как использовать этот репозиторий
Даже если вы не собираетесь участвовать в официальном зачете, проект полезен как учебное пособие.
Во-первых, загляните в папку docs. Там подробно расписано ТЗ. Попробуйте реализовать его на своем любимом стеке. Это гораздо интереснее, чем писать очередной To-Do лист. Вы сразу столкнетесь с проблемами конкурентности, блокировок и утечек памяти.
Во-вторых, следите за Pull Requests и форками. Там обычно происходит самое интересное: разработчики делятся своими хаками, обсуждают, почему один алгоритм поиска векторов лучше другого, и как заставить базу данных работать быстрее.
Кому стоит заглянуть в проект
Я бы рекомендовал этот репозиторий тем, кто засиделся на обычных CRUD-задачах. Если вам кажется, что бэкенд — это просто перекладывание JSON-ов из базы в ответ API, то Rinha de Backend быстро разубедит вас в этом.
Особенно полезно будет:
- Системным программистам, которые хотят попрактиковаться в высоконагруженных системах.
- Тем, кто интересуется векторными базами данных и поиском по сходству.
- Разработчикам, которые любят копаться в кишках Docker и настраивать лимиты ресурсов.
В итоге мы имеем крутой пример сообщества, которое растет вокруг сложной технической задачи. Это не про «кто лучше знает синтаксис», а про то, кто лучше понимает, как компьютер на самом деле исполняет код. Ссылка на документацию и правила лежит прямо в корне репозитория, так что можно начинать кодить прямо сейчас.
