Devs Hive
Повернутися до всіх запитань

Що таке Noisy tenants?

SeniorSystem design
Зустрічали на інтервʼю:1 користувач

Noisy tenants це одна з типових проблем в Multi-tenant системах, коли один шумний tenant(клієнт) починає споживати непропорційно багато ресурсів, наприклад CPU, памʼять, черги чи ліміти в API. Таким чином, це впливає на інших клієнтів: росте latency, зʼявляються timeouts, проблеми з сесіями чи поява downtime.

Як це виглядає на практиці

Наприклад, ви використовуєте брокер повідомлень(SQS, RabbitMQ…) і один tenant генерує велику кількість подій. Так як брокер і обробники подій спільні вони здебільшого обробляють повідомлення від noisy tenant, а інші клієнти страждають від збільшеного latency.

Ще один приклад, повʼязаний з сторонніми інтеграціями. Ви не встановили чітких Rate limits для клієнтів і noisy tenant викликає стороннє API настільки часто, що дуже швидко вибиває всі ліміти і інші клієнти не можуть повноцінно використовувати інтеграції.

Основні причини виникнення:

  1. Спільна інфраструктура: брокери повідомлень, бази даних, сервери і тд.
  2. Спільні ліміти зовнішніх сервісів або відсутність Rate limiting
  3. Нерівномірний розподіл трафіку

Приклади вирішення проблеми

  1. Ліміти і справедливе розподілення ресурсів
  2. Запровадження квот на важкі та затратні операції
  3. Виділення окремих ресурсів для “жирних” клієнтів

Зустрічав на інтервʼю?

Коментарі (0)

Увійдіть, щоб залишити коментар

Поки що немає коментарів. Будьте першим!