Проведение исследования SOA LoadBalancy Intmerverser
-
01-10-2019 - |
Вопрос
При взгляде на SOA (ориентированные на обслуживание архитектуры) Основные проблемы, по-видимому, распространяют нагрузку на услуги по нескольким хостам, а затем управлять этими хостами (принимая листы от строки или добавления новых хостов)
Когда одна услуга разговаривает с другим, ему не нужно знать информацию о хосте (на уровне приложений). Скорее, среда SOA должна иметь возможность направлять запрос на обслуживание к определенному хосту на основе характеристик текущей нагрузки Hosts (поэтому он должен знать, что все горячие сервис работает и их относительная нагрузка).
Есть ли какие-либо существующие открытые протоколы для обслуживания, чтобы сообщить об их существовании и нагрузке в среду SOA.
Решение 2
Прочитав много концепции, которую я на самом деле искал, был Предприятие Service Bus. Эспа.
Хотя он явно не определяет явный протокол, он определяет архитектурный стиль, который позволяет решению проблем, которые я заявил выше.
Другие советы
SOA - это набор руководящих принципов архитектуры высокого уровня программного обеспечения. Это не технический стандарт или рекомендация, и он не имеет ничего общего с техническими деталями реализации, таких как балансировка нагрузки.
Балансировка нагрузки основана на адресации, которая зависит от технологии доступа к обслуживанию. Системы, встроенные в «SOA-Way», могут использовать различные технологии доступа услуг, такие как мыло (по сравнению с HTTP, JMS и т. Д.), Отдых, асинхронные сообщения XML через JMS и т. Д.
С мылом потребитель обслуживания может посмотреть реестро UDDI, чтобы найти поставщика услуг. Некоторые из последних программ управления реестрами UDDI предоставляют простые (например, Round-Robin) балансировку нагрузки. Еще одна идея мыла с использованием WS-адресации, но это на самом деле не предназначено для балансировки нагрузки.
Я думаю, что в настоящее время лучшее место для балансировки нагрузки - это базовый сетевой транспортный слой. С HTTP-транспортом вы можете выбрать аппаратное или программное обеспечение (например, модули Apache HTTPD) балансировщиков, которые могут адаптировать распределение на основе времени отклика и тайм-аута. С транспортом JMS самые популярные серверы JMS предоставляют некоторую форму балансировки нагрузки. Другие протоколы - как CORBA или RendezVous - обычно требуют пользовательского решения.
Вы также можете использовать программное обеспечение ESB, например, Oracle Service Bus или Service Bus Tibco AMX. С ESB вы можете легко создать прокси-сервер балансировки нагрузки для экземпляров обслуживания. Прокси может быть увеличен с помощью какой-то логики, как поиск таблицы базы данных для руководства.
Как видите, нет никаких одноразмерных помещений - все решения для балансировки нагрузки на обслуживание. Оптимальное решение будет основано на фактических рекомендациях архитектуры реализации и рекомендаций по продажам.