Горизонтальне масштабування потокових систем

Концепції стримінгу

Mike Metzger

Data Engineer

Нагадування про горизонтальне масштабування

  • Замість масштабування «вгору» — масштабуйтесь «вшир»
  • Зазвичай це додавання обчислювальних ресурсів шляхом додавання кількості, а не швидших/кращих вузлів
  • Найкраще працює в незалежно паралельних задачах
    • Завдання легко розбити
    • Напр., обробка великої групи незалежних зображень
Концепції стримінгу

Горизонтальне масштабування для потоків

  • Обробка потокових даних зазвичай має мінімальні затримки
  • Передача даних між воркерами може бути складною
  • Найкраще обробляти весь потік у одному конвеєрі
  • Створіть копії таких конвеєрів
Концепції стримінгу

Копії конвеєрів

  • Коли події відбуваються, вони спершу потрапляють у конвеєр
  • Усі пов'язані завдання ізольовані в межах конвеєра до завершення
  • Масштабуйтесь, додаючи більше конвеєрів
  • Можна також масштабувати вертикально всередині конвеєра
Концепції стримінгу

Додаткові міркування

  • Можуть знадобитися інші компоненти
  • Балансувальник навантаження / директор
    • «Роздавач карт»
    • Найменш завантажений вузол
  • Зрештою з'являються вузькі місця
    • Продуктивність запису на диск
  • Подумайте про скорочення потокового конвеєра
    • Приберіть потребу негайно обробляти дані
Концепції стримінгу

Давайте потренуємось!

Концепції стримінгу

Preparing Video For Download...