Рубріки: ДосвідНовини

Розробники TikTok зекономили компанії $300 000 на рік: просто переписали код Go API на Rust

Дмитро Сімагін

Розробники TikTok переписали критично важливі Go API на Rust, що призвело до подвійного збільшення продуктивності та економії для компанії $300 тисяч на рік. Про це в своєму LinkedIn пише Tech Lead Amazon Анімеш Гайтонде. Автор коментує пост стажера TikTok Xiaoyun Wu, який той виклав у своєму блозі.

Довгий час платежі TikTok базувались на мові Go через її простоту, паралельність та продуктивність. Однак врешті трафік API, який стосується отримання балансу користувача та статистики, досяг 100 тисяч запитів на секунду. Завантаження процесора різко зросло, і це стало критичним вузьким місцем, яке могло б уповільнити продуктивність.

Центральний процесор став вузьким місцем через:

  • Інтенсивну серіалізацію/десериалізацію.
  • Паузи при зборі сміття в GoLang.
  • Надмірних витрат під час виконання GoLang через неефективний розподіл пам’яті.

Команда TikTok вирішила поекспериментувати з Rust, оскільки подальша оптимізація коду Go дала б мінімальні переваги. Вони переписали лише критично важливі API, пов’язані з процесором, на Rust, залишивши інші API, написані на Go, недоторканими.

Міграція на Rust призвела до таких покращень:

  • Зниження навантаження процесора на 33%.
  • На 72% менше використання пам’яті.
  • На 76% менше затримки при відповіді системи.

Ось як Rust вирішив проблеми, які були присутні в Go:

  • Нульове збирання сміття — Rust забезпечує детерміноване володіння та терміни життя для об’єктів.
  • Структури даних Copy-on-Write дозволяють уникнути непотрібних копій, зменшуючи обсяг пам’яті.
  • Абстракції з нульовою вартістю — на відміну від Golang, немає додаткових накладних витрат під час виконання остаточного скомпільованого коду, що економить 10 циклів процесора.

Команда також виконала структуровану міграцію з Go на Rust, яка включала запуск нового сервісу в тіньовому режимі та гарантію 100% коректності.

Одним із вражаючих аспектів цього експерименту є переписування лише критичних частин системи на Rust, а не міграція всього сервісу. Це забезпечує правильний баланс між продуктивністю та додатковими накладними витратами на обслуговування. 

Останні статті

Zoom випустить фотореалістичних аватарів, які замінять людей на нарадах

Відеосервіс Zoom анонсує технологію цифрових двійників, які самостійно відвідуватимуть робочі зустрічі. Про це пише TechCrunch.…

10.03.2026

Meta купує Moltbook: соціальну мережу для агентів та ботів

IT-гігант Meta (материнська компанія Facebook) офіційно оголосив про придбання Moltbook — вірусної соціальної мережі, яка…

10.03.2026

Китайський агент штучного інтелекту почав таємно майнити криптовалюту

Експериментальний агент штучного інтелекту ROME, якого створили дослідники, пов'язані з китайською компанією Alibaba, продемонстрував неочікувану…

10.03.2026

Заробляли на DDoS-атаках: у Польщі викрито групу школярів-хакерів, наймолодшому 12 років

Центральне бюро боротьби з кіберзлочинністю Польщі (CBZC) провело масштабну операцію, результатом якої стало викриття групи…

10.03.2026

Microsoft випустила Copilot Cowork — мультимодальний інструмент для запуску агентів

Microsoft оголосила про початок інтеграції технологій Anthropic у свої сервіси, представивши новий інструмент Copilot Cowork,…

10.03.2026

Anthropic презентує новий інструмент перевірки пул-реквестів Code Review

Компанія Anthropic оголосила про доступність у Claude Code бета-версії нового інструменту Code Review. Він розробленій…

10.03.2026