У меня есть система, состоящая из двух приложений. В настоящее время два приложения обмениваются данными, используя несколько шаблонов ZeroMQ
PUB/SUB
, созданных для каждого конкретного типа передачи. Сокеты программируются на C.
Например, приложение X использует архетип формального сокета SUB
для получения информации struct
от приложения Y и использует другой PUB
. strong> архетип формального сокета для передачи необработанных битовых блоков в AppY, и то же самое относится к AppY. Он использует шаблоны PUB/SUB
для передачи и приема.
Чтобы было ясно, AppX и AppY осуществляют следующие коммуникации:
AppX -> AppY:
- необработанные битовые блоки 1 kbits
(непрерывно),
- целочисленная команда (не непрерывно, зависит от пользователя)
AppY -> AppX:
информация struct
о 10kbits
(непрерывно)
Цель дизайна:
а) Моя цель — использовать только по одному сокету с каждой стороны для двунаправленной связи в неблокирующем режиме.
б) Мне нужны два приложения. для обработки полученных в очереди пакетов без чрезмерной задержки.
c) Я не хочу, чтобы AppX аварийно завершал работу после аварийного AppY.
Q1:
Возможно ли это с ZeroMQ
?Q2:
Могу ли я использовать ROUTER/DEALER
или любой другой шаблон для этой работы?
Я прочитал руководство, но я не мог понять некоторые аспекты.
На самом деле я не очень хорошо разбираюсь в ZeroMQ
. Буду рад услышать о дополнительных советах по этой проблеме.