Усі публікації
Інженерія 9 хв читання

Уроки з обробки 50М+ повідомлень на місяць

Пʼять важко здобутих уроків з оперування інфраструктурою повідомлень у 100k+ бізнесах.

Олексій Петров
Engineering Director
Mar 12, 2026

Де ми зараз

MyChatBot обробляє 50M+ повідомлень на місяць по WhatsApp, Telegram, Instagram, voice та email. Ми виросли з 1M/місяць два роки тому. Ось що змінилось у нас в головах, поки ми масштабувались.

1. Tail latency, єдина латентність, що має значення

Ми витратили перший рік на оптимізацію медіанної latency. Медіана нормальна. Клієнти відчувають P95 і P99, саме там живуть погані досвіди. Тепер кожен дашборд, на який ми дивимось, показує P99 першим.

2. Ідемпотентність, або ви плакатимете

Кожне повідомлення має бути idempotent. Мережі падають. Webhooks ретраяться. Якщо ваш handler не idempotent, ви надішлете дублікати реальним клієнтам. Ми навчились цього незручним шляхом.

3. Backpressure кращий за rate-limits

Rate limits здаються безпечними, але вони штовхають проблему вгору, зазвичай до ваших клієнтів, які потім скаржаться. Backpressure (плавне сповільнення, коли downstream повільний) тримає систему стабільною без сюрпризів.

4. Логи, не метрики

Не намагайтесь виводити метрики з логів у масштабі. Будуйте first-class метрики. Логи, для дебагу окремих кейсів; метрики, для розуміння системи.

5. Pager-гігієна, частина інженерної культури

Якщо команду пейджать вночі за речі, на які не можна діяти, вона вигорить. Кожен pageable-алерт повинен мати runbook і чітку дію. Якщо нічого з цього немає, алерт не повинен пейджити.

#operations#engineering
Олексій Петров
Engineering Director

Веде інженерію. Раніше, CTO у двох стартапах. Сильні думки про інженерну культуру, але без догматизму.

Спробувати MyChatBot безкоштовно

Налаштуйте свого першого AI-агента за 10 хвилин. Картка не потрібна.

Безкоштовний пробний період