Запрос "Почти в реальном времени" с JMS и архитектурой слабой связи - PullRequest
1 голос
/ 06 февраля 2012

Я хотел бы использовать JMS и ActiveMQ (или любого другого хорошего JMS-брокера) для обеспечения слабой связи в моей системе.

В некоторых случаях компоненту системы требуется доступ к услуге другого компонента, а ответом должно быть «Реальное время» (например, для ответа на запрос, поступающий из веб-приложения).

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

Мой вопрос касается производительности. Есть ли какие-то цифры по уровню производительности, достигнутому этой архитектурой? Можно ли достичь «почти реального времени», что означает, что стоимость, предполагаемая JMS, должна быть ниже 5 мс?

Спасибо!

1 Ответ

1 голос
/ 06 февраля 2012

Это зависит от многих факторов, которые действительно трудно сказать. Я попробовал на своей машине (сообщу вам детали этого, если вам нужно), чтобы сделать простой запрос, выполнить некоторую обработку и вернуть. Я получаю менее 5 мсек прямо сейчас. Но эта цифра вообще ничего не говорит, потому что ActiveMQ на моей машине, соединение также очень быстрое, потому что все на локальном хосте и т. Д. И т. Д.

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

Если вы хотите «РЕАЛЬНОЕ ВРЕМЯ», то зачем вам вообще вводить асинхронный компонент?

Приветствия, Юджин.

...