Реализация ZMQ с шаблоном Major domo. Можно ли смешивать протоколы соединения между работником-брокером и брокером-клиентом? - PullRequest
0 голосов
/ 01 апреля 2019

Я успешно смог соединить работника и брокера по протоколу TCP, а затем клиента с брокером по протоколу TCP. Теперь я оцениваю, возможно ли, что работник и брокер могут подключаться по протоколу ipc / inproc, а клиент будет подключаться к брокеру по tcp. Мои работники и брокер будут работать на одной машине и могут даже находиться в одном процессе. Мой клиент может подключиться к моему брокеру с другой машины, поэтому он должен был быть на tcp

Можно ли связать брокера двойным способом?

1 Ответ

1 голос
/ 01 апреля 2019

Да, нет проблем с тем, что вы предлагаете. Каждый сокет ZMQ работает совершенно не так, как другие сокеты в вашем коде. Часто имеет смысл смешивать протоколы соединений для оптимизации связи так, как вы этого хотите.

Одно из предположений, которое я здесь делаю, состоит в том, что у вашего брокера есть 2 набора сокетов: сокеты, обращенные к клиенту, которые вы можете подключить через TCP, и сокеты, обращенные к работнику, которые можно подключить по другому протоколу. Если и клиент, и работник подключаются к одному и тому же сокету на брокере, они должны подключаться по одному и тому же протоколу.

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

...