Когда уместно реализовать «позвоночник» для системы? - PullRequest
1 голос
/ 11 января 2010

Я понимаю, что некоторые программные системы реализуют шины сообщений или «шипы». Для каких применений подходит такая технология и почему?

Ответы [ 2 ]

1 голос
/ 11 января 2010

Ну, все зависит от ваших потребностей.

Например, если у вас есть клиент-серверное приложение и вы хотите в режиме реального времени обновлять семантику Pub / Sub. Тогда шина сообщений идеальна, так как вы не хотите заново изобретать колесо.

Если у вас есть процессы, которые должны быть поставлены в очередь для запуска, вы также можете использовать для этого шину сообщений, поскольку вы можете сбросить все ваши элементы в очередь, и прослушивающий процесс поднимет их и обработает по мере необходимости.

Мы склонны использовать шину сообщений для торговых систем, но она может использоваться для всего, где необходим обмен сообщениями с несколькими клиентами. Это немного излишне, если вы всего лишь одно клиент-серверное приложение и вам не нужно, чтобы все клиенты были в курсе.

Однако все зависит от вашего сценария использования, поэтому сложно сказать. Посмотрите, что предоставляет шина сообщений, и посмотрите, предлагает ли она какую-либо помощь в контексте ваших приложений. Спросите себя, можете ли вы предоставить то же самое с помощью простых сервисов, нужна ли вам модель Pub / Sub, нужна ли вам гарантированная доставка сообщений, как насчет подтверждения сообщений. Вы просто запрашиваете данные только для чтения или это полная система ввода данных. Включен ли рабочий процесс, который может использовать шину сообщений и т. Д. И т. Д. И т. П.

Главное - посмотреть, что предлагают эти системы, и посмотреть, подходит ли вам это. Но также обратите внимание на такие вещи, как объем, удобство использования, ремонтопригодность и т. Д. Вы можете найти несколько решений, основанных на простом сценарии, которые могут частично извлечь выгоду из чего-то подобного, но могут оказаться излишними излишними для небольших проектов.

1 голос
/ 11 января 2010

Я никогда не слышал о "позвоночнике". Однако общей архитектурой является Enterprise Service Bus (ESB) .

Как правило, вы используете это, когда у вас есть много различных компонентов, которым необходимо подписаться на сообщения, отправленные из других компонентов. Обычно в отключенном состоянии (выстрелить и забыть), однако иногда требуются ответы обратно.

ESB не является высокоскоростным способом обработки двусторонней связи.

Biztalk является примером одной такой системы. Есть много других, и вы, очевидно, можете написать свой собственный.

Один из примеров - системы управления заказами и биллинга. Допустим, клиент размещает заказ. Уведомление о заказе может быть отправлено в автобусе. Если у вас есть отдельные системы выставления счетов и выполнения, тогда шина может передавать сообщение каждому из них, при этом система заказа не знает, как будет выставлен счет или даже кто будет его выполнять.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...