2013-12-11 2 views
0

Мы прототипируем систему обмена сообщениями узлов кластера на основе групп jgroups, которая заменит систему JDBC. В моей организации много людей, которые обеспокоены добавлением большего количества многоадресных трафиков в уже занятую сеть, поэтому я получаю отклик на решение UDP/многоадресной рассылки.JGroups UDP для членства, но TCP для обмена сообщениями?

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

Что я хотел бы тогда увидеть, можем ли мы получить гибрид, работающий здесь, где многоадресная рассылка используется ТОЛЬКО для операций членства в группах (обнаружение, биение, обнаружение сбоев), но обмен сообщениями осуществляется на основе TCP.

Однако я не нахожу примеров этого в моих поисках, и поэтому задаю вопрос, можно ли настроить JGroups таким образом.

Можете ли это, и любые примеры конфигураций, показывающих, как?

Спасибо!

ответ

0

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

Что касается FD/FD_ALL, я не думаю, что это возможно, протоколы предназначены для использования основного транспорта. Вы должны написать свой собственный протокол FD, не должно быть так сложно.

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

Смежные вопросы