Apache Servicemix возможным решением? Это достаточно быстро?

StackOverflow https://stackoverflow.com/questions/7318178

Вопрос

Я работаю над заявлением, которое асинхронно отправило бы запрос нескольким поставщикам услуг, сопоставляю ответы и предоставит результатам пользователю.

Я намерен создать компонент для обработки каждого поставщика услуг. Компонент будет свободно связан, и поэтому его должно быть очень легко добавить или удалить поставщиков услуг.

enter image description here

Компонент будет

  1. Обработайте запрос, полученный с веб -уровня и обработайте его, чтобы перевести его в формате, требуемом поставщиком сервисов.
  2. Отправить запрос поставщику услуг
  3. Обработайте ответ, полученный от поставщика услуг, чтобы перевести его в формат, требуемый для нашей заявки.

Можем ли мы использовать сервисную смесь Apache? Достаточно ли быстро обрабатывать цикл запроса-ответа менее чем за 5 секунд (при условии, что поставщики услуг отправляют ответы менее чем за секунду).

ИЛИ ЖЕ

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

Заранее спасибо.

Шардул.

Это было полезно?

Решение

Servicemix должен иметь возможность справиться с этим. Основной вопрос заключается в том, что вам даже нужно Servicemix.

Если вы хотите, чтобы ваши компоненты работали на OSGI, вы можете использовать ServiceMix или Caraf + Camel (что является чем -то вроде света ServiceMix).

Чтобы общаться между веб -фронтом и компонентом, я использовал бы JMS и для реализации компонента, который я предлагаю с помощью Camel + Pojos.

Если вам нужна дополнительная помощь с этим, не стесняйтесь связаться со мной снова. Кажется, вы уже нашли меня на IRC :-) имя пользователя: Cschneide или Cschneider

Другие советы

Что касается скорости: в проектах интеграции сама инфраструктура обмена сообщениями/обработкой редко является узким местом, но вместо этого точки касания с внешними службами.

Таким образом, единственный ответ Re: «Servicemix достаточно быстро» для вашего сценария - «да», потому что большую часть времени будет потрачена на взаимодействие с вашими поставщиками услуг (т.е. ожидание ответа сети), а не в собственном коде обработки сообщений SM.

На версии FuseESB 4.2 я достигал 15 000 звонков в секунду на ноутбуке DualCore с 2 ГБ оперативной памяти. Звонки были сделаны в сервис CXF, выявленную ServiceMix. Внутренне был вызван один весенний боб, вводимый OSGI, который просто возвращал случайные данные. И Servicemix можно сгруппировать. Поэтому я думаю, что это достаточно быстро, как контейнер с Java.

Относительно "достаточно быстро?" факт, вы можете посмотреть на http://esbperformance.org Для сравнения производительности 8 ESB с открытым исходным кодом. В то время как большинство ESB в наши дни очень хорошо работают, Ультрасб считается лучшим показателем ESB.

Глядя на ваши требования, это типичный вариант использования для любого ESB. Вы должны использовать возможности фильтрации и преобразования для реализации этого.

Фильтр будет решать, какой поток будет вызвать на основе содержимого сообщений или свойств, таких как входящий URL и т. Д., И направлено на желаемый поток. Каждый поток должен быть приготовлен с необходимой логикой преобразования, чтобы вызвать поставщика услуг. Точно так же обратный ответ будет отправлен на правильный поток, чтобы сделать обратное преобразование.

Отказ от ответственности: я работаю для AdroItlogic компании, поддерживающей UltraESB.

Для получения последней информации ESB, вы можете посмотреть ESB производительность - создание самого быстрого ESB

WSO2 ESB - еще одна классная альтернатива. WSO2 ESB основан на углеродной платформе WSO2 на базе OSGI, а также на 100% бесплатно и открыт и предлагает Количество образцов что вы можете попробовать из коробки. Кроме того, WSO2 - это не просто ESB, но и Комплексная платформа SOA В тех случаях, когда у нас есть ESB, сервер идентификации, сервер данных, сервер бизнес -процессов и т. Д. Работает сверху углеродной платформы на основе OSGI. Попробуйте.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top