Pub/sub

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
Запит «PubSub» перенаправляє сюди; PubSub (сайт) недіючий пошуковий сайт.

В архітектурі ПЗ, publish–subscribe - шаблон передачі повідомлень в якому відправники повідомлень, які називаються видавцями (publishers), не програмуються щоб напряму відправляти повідмолення приймачам, які називаються підписниками (subscribers). Замість цього, опубліковані повідомлення категоризуються за класами, без знання того, якими будуть підписники і чи взаглі будуть. Аналогічно, підписники виявляють зацікавленість в певних класах повідмолень, і приймають повідомлення які їх цікавлять, без знання того, які видавці їх публікують.

Pub/sub - сестра парадигми черги повідомлень, і зазвичай є однією частиною більшої message-oriented middleware системи. Більшість систем передачі повідомлень підтримують у своїх API як pub/sub так і черги повідомлень, як наприклад Java Message Service (JMS).

Цей паттерн надає більшу масштабовність та динамічнішу топологію мережі.

Фільтрація повідомлень[ред.ред. код]

В моделі pub/sub, підписники зазвичай приймають лише підмножину всіх опублікованих повідомлень. Процес вибору повідомлень для прийняття та обробки називається фільтрацією. Існують дві типові форми фільтрації: що базуються на темі і що базуються на контенті.

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

В системах що базуються на контенті, повідомлення доставляються підписнику, якщо атрибути тих повідомлень відповідають тим які описані підписником. Підписник відповідальний за класифікацію повідомлень.

Деякі системи є гібридами обох видів: видавці публікують повідомлення в теми, а підписники підписуються на кілька тем, описуючи атрибути бажаних повідомлень.

Дивись також[ред.ред. код]

Зноски[ред.ред. код]

Посилання[ред.ред. код]

JavaScript[ред.ред. код]

  • radio.js - невелика JavaScript бібліотека PubSub.