TGViewer
Devs Hive Devs Hive @devshive · 1.41K subscribers
Post #197 960
Push vs Pull у брокерах повідомлень 💌💌💌

Одна з речей, які дадуть вам краще розуміння роботи брокерів - це моделі доставки повідомлень.

Насправді все доволі просто й логічно, але багато хто не приділяє цьому уваги. Через це потім не до кінця зрозуміло, коли і який брокер варто використовувати.

А від незнання, в вашій голові завжди буде звучати фраза: «беремо Kafka, вона сама лучча» 😁

Push

Брокер сам відправляє повідомлення consumer-у, щойно воно з’явилося. Такий спосіб найбільш простий і очевидний, оскільки дозволяє дуже швидко отримати та обробити повідомлення.

Але є суттєвий мінус - повідомлень може надходити більше, ніж consumer здатен обробити. Виникає backpressure: повідомлення накопичуються швидше, ніж обробляються.

На практиці, в умовному Datadog, ви будете бачити графік де розмір черги лінійно повзе вгору. Зазвичай, всі роблять вигляд, що не бачать його, а потім рандомний розробник отримує по шапці і страждаючи фіксить корінь проблеми.

Pull

Тут система трохи складніша. Consumer сам запитує у брокера наступну порцію повідомлень і таким чином контролює швидкість їх отримання. Це спрощує роботу з backpressure (але тільки частково), оскільки consumer сам вирішує, коли забирати нові повідомлення.

Загалом pull-модель дає consumer-у більше контролю над тим, коли, скільки і як опрацьовувати повідомлення.

Яскравий представник pull-моделі - Kafka.

#microservices #brokers
  • 👍 16
  • 🔥 3
More from @devshive
  1. Oct 7, 2026Post #289
  2. Oct 7, 2026Post #288
  3. Oct 6, 2026Цікаве оновлення в Nest.js 🔥 Вони випиляли Axios з HTTP клієнта і тепер використовують na…
  4. Oct 6, 2026Ще одне практичне застосування Jev - jevgrep 🤯☕️ Це інструмент для пошуку потрібного коду…
  5. Oct 5, 2026Post #285
  6. Oct 4, 2026Дуже багато відповіли, що Promise виконає обчислення в окремому потоці 🚬 Треба робити від…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →