Связывание нескольких ответов с дилером и маршрутизатором в ZeroMQ - PullRequest
1 голос
/ 07 мая 2019

Я новичок в zeromq и изучаю его. Я знаю, что если вы хотите, чтобы многие службы были связаны со многими респондентами, вы используете архитектуру req -> router -> dealer -> rep.Теперь проблема в том, что у меня много разных респондентов, каждый из которых обрабатывает свою собственную функцию, например, test1, test2 и т. Д., И я хочу использовать архитектуру, в которой у меня есть один req, который решает, какую службу использовать, скажем test1затем связывается с router -> dealer -> test1.Вот как я понимаю, если я ошибаюсь, поправьте меня, пока я знаю, как сделать маршрутизатор -> дилером, как мне сделать это в простом коде узла всех вовлеченных сторон, test1 и test2может иметь несколько экземпляров, любая помощь будет высоко оценена, спасибо.

1 Ответ

1 голос
/ 07 мая 2019

Есть две разные вещи.

Во-первых, вы должны быть в состоянии общаться через ваши задачи в двух направлениях. Это роутер -> дилерская архитектура.

Во-вторых, у вас есть другой тип клиентов, которые могут обрабатывать разные вызовы (func1, func2 ...).

enter image description here

Красный - это тип 1, оранжевый тип 2 и синий тип 3 в схеме.


Что бы я сделал, это чтобы клиенты идентифицировали себя с сервером после подключения.

"привет, я тип клиента 1" , поэтому на сервере будет где-то карта, которая будет знать, какой дескриптор клиента на какие вызовы. А затем отправляйте сообщения напрямую нужному клиенту.

...