2010-02-02 2 views
0

В настоящее время я разрабатываю систему для обеспечения высокой производительности, доступности и масштабируемости; отказоустойчивости и аварийного восстановления в сценарии интеграции WebLogic.Настроить сообщение Heartbeat от WebLogic

Кто-нибудь знает, можно ли настраивать собственные сообщения Heartbeat от WebLogic, добавлять дополнительную информацию, такую ​​как текущее использование ЦП и/или загрузка сети?

Цель состоит в том, чтобы разрешить алгоритмы балансировки нагрузки, которые используют эту «пользовательскую» информацию, чтобы избежать перегрузки борющегося сервера с большим количеством запросов.

ответ

2

Насколько мне известно, это невозможно. Во-первых, heartbeats используются экземпляром сервера для рекламы его доступности - и только его доступности - (путем мониторинга сообщений о сердцебиении, экземпляры сервера в кластере определяют, когда экземпляр сервера завершился с ошибкой). Во-вторых, алгоритмы WebLogic load balancing не являются подключаемыми и не используют биения (по крайней мере, не напрямую).

Таким образом, вы можете использовать: балансирование

  • Циклической нагрузки для HTTP-запросов при использовании прокси-плагина.
  • Круговое, основанное на весу (для не однородных кластеров) или произвольная балансировка нагрузки для EJB и объектов RMI.

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

Обратите внимание, что стратегия на основе нагрузки - это не то, что я часто видел, даже для огромных веб-сайтов. В большинстве случаев простой алгоритм round-robin обеспечивает очень удовлетворительное распределение запросов и, следовательно, сбалансированное использование ресурсов.

+0

Я знаю это, и я уже реализовал решение балансировки нагрузки на моем кластере WebLogic, используя HttpClusterServlet (только для этапа разработки/этапа). Тем не менее, этот алгоритм балансировки нагрузки не такой богатый, как я хочу, поскольку я хотел бы проанализировать загрузку процессора и сетевых интерфейсов серверов кластеризованных серверов, чтобы мгновенно определить, какая машина имеет наибольшую доступность. Вы уверены, что этого не может быть сделано, расширяя собственные сообщения о сердцебиении? – XpiritO

+0

@XpiritO Ну, расширение «HttpClusterServlet» на самом деле не сравнимо с сценариями выше, и я даже не упоминал об этом, так как использование этого сервлета не рекомендуется для производства. И да, я не думаю, что вы можете продлить родные сообщения. Кстати, вы уверены, что вам действительно нужна стратегия на основе нагрузки? Это не то, что я часто не видел за последние 10 лет ... –

+0

@Pascal В настоящее время я разрабатываю инфраструктуру для обеспечения высокой доступности, масштабируемости, отказоустойчивости и балансировки нагрузки в кластере WebLogic. Основная цель заключается в поддержке схемы процессов для разбора XML-сообщений (одно сообщение может включать в себя несколько других XML-сообщений и вложений, таких как файлы docx и pdf), представленные через веб-формы и/или веб-службы. Эта система ДОЛЖНА быть готова справляться с огромными пиками нагрузки без ущерба для доступности. – XpiritO