Зачем использовать Unicast против Multicast в Weblogic Clusters - PullRequest
20 голосов
/ 02 декабря 2010

Из документации неясно, почему вы должны использовать Unicast, а не Multicast в кластере WebLogic.У кого-нибудь есть опыт использования любого из них и преимущества перехода на Unicast?

Ответы [ 5 ]

16 голосов
/ 29 декабря 2010

Основное различие между Unicast и Multicast заключается в следующем

Unicast:

Скажем, у вас есть три сервера (MS-1, MS-2, MS-3) в кластере. Если они должны общаться друг с другом, то они должны пропинговать (т.е. пульсировать) мастер кластера, чтобы сообщить ему, что они живы.

Если MS-1 является ведущим, то MS-2 и MS-3 отправят эхо-запрос на MS-1

Multicast:

В Multicast нет мастера кластера. Вместо этого каждый сервер должен пинговать друг друга, чтобы сообщить всем, что они живы.

Таким образом, MS-1 отправит пинг MS-2 и MS-3, и в то же время MS-2 отправит пинг MS-1 и MS-3, а MS-3 пингует MS-1 и MS -3.

Таким образом, в многоадресной рассылке отправляется больше эхо-запросов, что делает перегрузку при отправке эхо-сигналов намного тяжелее по сравнению с одноадресной. В связи с этим WLS рекомендует использовать Unicast вместо этого для уменьшения перегрузки в сети: Oracle Docs: Communications In Cluster

9 голосов
/ 18 марта 2011

Принцип многоадресной рассылки заключается в том, что любое сообщение получено всеми подписчиками на адрес многоадресной рассылки.Таким образом, MS-1 нужно только отправить 1 сетевой пакет, чтобы предупредить всех остальных членов кластера о своем состоянии.Это означает, что для обновления состояния или JNDI требуется только 1 пакет на кластер для Muticast против 1 пакета на сервер (приблизительно) для Unicast.Многоадресная передача также не требует никаких «мастерских» выборов.Таким образом, многоадресная передача намного проще в кодировании и создает меньше сетевого трафика.

Итак, многоадресная передача хороша?Не обязательно.Он использует дейтаграммы UDP, которые по своей природе ненадежны и не подтверждаются, поэтому, учитывая ненадежный протокол передачи данных - Etherent - ваше сообщение может никогда не появиться (истолковать: вы выпадаете из кластера).Вся концепция многоадресной рассылки основана на подписке, в обычном смысле это не «маршрутизируемый» протокол, поэтому по умолчанию маршрутизаторы должны отбрасывать многоадресные пакеты или подвергаться риску сетевого шторма.Следовательно, историческое требование для всех членов кластера находиться в одном и том же сегменте сети.

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

6 голосов
/ 07 октября 2013

Основным преимуществом Unicast по сравнению с Multicast является простота настройки. Одноадресная передача использует TCP-связь, и для этого обычно не требуется дополнительная настройка сети. Многоадресная передача использует связь UDP и адреса многоадресной рассылки , и для этого может потребоваться некоторая конфигурация сети и дополнительные усилия по выбору адреса, который будет использоваться.

Есть замечательная статья от Oracle A-Team с подробным объяснением: Протоколы обмена сообщениями кластера WebLogic Server .

В документацию для WLS 12.1.2 добавлен Oracle Соображения по выбору одноадресной или многоадресной передачи , в которых предлагается использовать многоадресную рассылку в кластерах с более чем 10 управляемыми серверами.

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

5 голосов
/ 10 июля 2014

Ответ здесь кажется противоречащим рекомендации Oracle A-Team.Их рекомендация:

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

Полный текст статьи можно найти здесь .

ОБНОВЛЕНИЕ

По умолчанию в Weblogic используется одноадресная передача, а документация для 12c подразумевает, что многоадресная рассылка поддерживается только для обеспечения обратной совместимости:

Важно отметить, что, хотя в некоторых частях документации по WebLogic Server предполагается, что многоадресная рассылка поддерживается только для обратной совместимости- это не правильно.Протокол многоадресной передачи сообщений кластера полностью поддерживается Oracle.Команда A работает с управлением продуктами WebLogic Server для решения этих проблем с документацией в документации по Weblogic Server 12c.

1 голос
/ 12 сентября 2013

Как в многоадресной, так и в одноадресной конфигурации есть мастера кластера. В дополнение к мастеру кластера в одноадресной рассылке есть один или несколько лидеров. Лидер кластера может быть или не быть мастером кластера.

Multicast - это трансляция; они не пропингуют друг друга как сообщение tcp. Как в случае одноадресной, так и многоадресной передачи трафик обычно тривиален. Но многоадресная рассылка почти всегда является лучшим выбором, если ваша сеть ее поддерживает.

Одноадресная передача представляет собой более простую конфигурацию, чем многоадресная, в которой вам не требуется поддержка многоадресной рассылки. Все маршрутизаторы / коммутаторы поддерживают TCP, но не все маршрутизаторы / коммутаторы поддерживают или имеют многоадресную рассылку. Но одноадресная рассылка генерирует больше сетевого трафика, чем многоадресная.

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