Полезно ли использовать ZeroMQ для создания однорангового планировщика рабочей нагрузки?

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

Каждый узел будет иметь свою собственную таблицу взвешенной маршрутизации для отправки сообщений другим одноранговым узлам (в основном на основе количества переходов), т.е. «Я хочу, чтобы мастер дал мне мое расписание» или «доступен ли ресурс A на узле B?» : какой сосед ближе всего к моей цели ?

Например, я написал свой собственный протокол маршрутизации, используя XML-RPC (xmlrpc-c) и std::multimaps/std::maps.

Я думаю об использовании ZeroMQ для оптимизации потоков данных:

  • организация очереди может снизить нагрузку на сеть между одноранговыми узлами;
  • подписки можно использовать для публикации обновлений.

Как следствие :

  • Мне нужно будет открыть столько сокетов, сколько я создам новых типов соединений;
  • Каждый узел должен быть клиентом, сервером, издателем, подписчиком, брокером и каталогом;
  • Я не уверен, что моя "одноранговая архитектура" совместима с основной целью ZeroMQ.

Считаете ли вы, что ZeroMQ может быть полезной концепцией для использования?


person Mathieu G.    schedule 16.11.2011    source источник


Ответы (1)


Было бы полезно точно знать, что вы подразумеваете под «протоколом маршрутизации». Похоже, вы имеете в виду бизнес-логику маршрутизации к определенному узлу. Также было бы полезно знать более подробно, чего вы хотите достичь с помощью ZeroMQ.

Вы прочитали Руководство по ZeroMQ? ZeroMQ — это совершенно другой зверь, и, не потратив немного времени на то, чтобы поиграться с ним, вы, скорее всего, запутаетесь. В качестве бонуса чтение руководства также поможет вам ответить на этот вопрос для себя, так как вы лучше знаете свои требования.

ZeroMQ был разработан для создания надежных распределенных и многопоточных приложений. Поскольку распределенные приложения часто могут принимать форму «одноранговых», ZeroMQ действительно может хорошо подойти для ваших нужд.

person linuxfood    schedule 11.04.2012
comment
Не совсем ответ. больше похоже на лекцию - person Rohit Vipin Mathews; 26.10.2012