черги повідомлень

Черга повідомлень дозволяє забезпечити асинхронне виконання ділянок програми. Це дозволяє:

  • Збільшити швидкість роботи програми
  • Обслуговувати більшу кількість відвідувачів (масштабироваться)
  • Використовувати різні мови розробки в одному додатку

Система черг - це принцип, а не конкретна технологія. Для реалізації системи черг не обов'язково використовувати зовнішнє рішення. Ви можете реалізувати чергу, скажімо, на MySQL і PHP. Однак простота і наявність готових рішень дозволять зробити це швидше.

Система черг складається з двох основних компонентів.

сервер черги

Сервер черги зберігає список повідомлень (або задач, job queue), які відправляє йому основне додаток. Завдання - це просто інформація про те, що і як потрібно виконати.

черги повідомлень

Сам сервер черги нічого не виконує. Єдиною його завданням є збереження самої черги.

оброблювач

Оброблювач (або worker) - це частина основної програми, яка працює з чергою в зворотному напрямку. Він отримує нові повідомлення з черги і виконує відповідні дії.

черги повідомлень

Тобто повільний ділянку програми видаляється з основної програми і переноситься в worker. В основному додатку він замінює на відправку повідомлення в чергу.

інтеграція

Загальна структура роботи системи повідомлень в додатків виглядає так:

черги повідомлень

Для роботи Вам знадобиться:
  1. Встановити систему черзі (наприклад, Gearman).
  2. Замінити повільний ділянку програми на відправку повідомлення.
  3. Розробити обробник (worker), тобто перенести повільний ділянку туди.
  4. Запустити Воркер в один або кілька потоків.
  5. Встановити систему моніторингу для відстеження завантаженості черзі і статусу Воркер.

масштабування

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

Практика і найважливіше

Читайте про застосування системи черг Gearman в PHP. Системи черг можна і потрібно застосовувати не тільки на великих Web сайтах. Повільні операції значно погіршують досвід використання програми, а черги дозволять забезпечити високу швидкість роботи для відвідувачів.

черги повідомлень

матеріали по темі

Схожі статті