Розподілені системи: визначення, особливості та основні принципи

Система передачі повідомлень

Системи обміну повідомленнями забезпечують центральне місце для зберігання і поширення повідомлень всередині загальної системи. Вони дозволяють відокремити прикладну логіку від безпосереднього спілкування з іншими системами.

Відомий масштаб – кластер Kafka LinkedIn обробляв 1 трильйон повідомлень у день з піками в 4,5 мільйона повідомлень в секунду.

Простіше кажучи, платформа обміну повідомленнями працює наступним чином:

  1. Повідомлення передається з додатка, яке потенційно створює його, зване продюсером, переходить в платформу і зчитується з декількох програм, званих споживачами.
  2. Якщо потрібно зберегти певну подію в кількох місцях, наприклад, створення користувача для бази даних, сховища, служби відправки електронної пошти, то платформа обміну повідомленнями є самим чистим способом поширення цього повідомлення.

Є декілька популярних першокласних платформ обміну повідомленнями.

RabbitMQ – брокер повідомлень, який дозволяє більш тонко налаштовувати управління їх траєкторіями з допомогою правил маршрутизації та інших легко параметрів. Можна назвати «розумним» брокером, оскільки в ньому багато логіки і щільно відстежує повідомлення, які проходять через нього. Надає параметри для AP і CP з CAP.

Kafka – брокер повідомлень, який трохи нижче по функціональності, так як в ньому не відстежується, які повідомлення були прочитані, і не допускає складної логіки маршрутизації. Це допомагає досягти дивовижної продуктивності і представляє найбільшу перспективу в цьому просторі з активною розробкою розподілених систем співтовариства open-source і підтримкою команди Confluent. “Кафка” користується найбільшим успіхом у високотехнологічних компаній.

Дивіться також:  Захист проекту: зразок. Теми для захисту проекту. Вимоги до проектної роботи