Хтось може мені пояснити, у яких випадках використання я повинен розглянути можливість використання AMQP, наприклад, RabbitMQ? Які плюси і мінуси?
Хтось може мені пояснити, у яких випадках використання я повинен розглянути можливість використання AMQP, наприклад, RabbitMQ? Які плюси і мінуси?
Відповіді:
Уявіть, що у вас є веб-служба, яка може приймати багато запитів за секунду. У вас також є система обліку, яка робить багато речей, одна з яких обробляє запити, що надходять від веб-сервісу.
Якщо ви поставите чергу між веб-службою та обліковою системою, ви зможете:
Звичайно, у вас можуть виникнути складніші ситуації, коли кількість ваших додатків набагато більша, ніж дві, і вам потрібно керувати зв’язком між ними.
Окрім надання буфера між веб-службою та іншою сервісною службою, черги повідомлень можуть використовуватися і для більш складних сценаріїв. Rabbit MQ (та інші зрілі продукти для чергових повідомлень, які також називаються MOM - Посереднє програмне забезпечення, орієнтоване на повідомлення) можна налаштувати для маршрутизації та розповсюдження повідомлень відповідно до різних правил.
Наприклад, техніка маршрутизації Pub-Sub дозволяє одному джерелу надсилати повідомлення, і багато слухачів отримують його. Це зазвичай використовується програмним забезпеченням для торгівлі акціями, щоб постійно оновлювати користувачів.
Також через те, що більшість MOM мають sdks для декількох мов та платформ, їх можна використовувати для інтеграції програм, написаних на різних платформах.
Це лише кілька сценаріїв, дозволених МОМ.