Производитель Jzmq не блокируется, когда потребитель полон - PullRequest
0 голосов
/ 27 января 2020

Я настроил конвейер ZeroMQ через VPN. Однако производитель не учитывает потребительскую емкость потребителя. Производитель продолжает отправлять сообщения потребителю, из-за чего потребление оперативной памяти резко возросло.

Я хочу найти причину этой проблемы. Возможно, из-за UDP VPN-канала.

1 Ответ

0 голосов
/ 27 января 2020

Q : (найдите причину этой проблемы) Возможно, это связано с UDP VPN-каналом.


Отказ от ответственности,
с учетом окончательной информационной асимметрии, которая еще не завершена, здесь:

Ну,
, учитывая, что пока есть нулевые фрагменты -из информации (за исключением того, что Сообщество продвигало MCVE ~ M inimum- C omplete- V erifiable- E формулировка проблемы на основе большого количества кода), либо о канале UDP, либо о составе, конфигурации и взаимосвязи (ях) «производитель» и «потребительские» сущности, за исключением простого упоминания ZeroMQ, этот ответ может быть и будет основан на общедоступных знаниях.


Ответ:

Фреймворк ZeroMQ основан на нескольких, довольно кардинальных принципах:

Правило 1) это брокер - меньше - т.е. итоговая экосистема напоминает сеть из независимо работающих агентов.

Правило 2) пользователь может реализовать любые дополнительные возможности, чтобы расширить Правило 1 .

Это говорит о том, что если вы правильно настроите поведение приложения-домена ваших агентов, связанных с ZeroMQ, локальный агент может получить некоторое указание от удаленного агента (ов) о его (их) проблемах с ОЗУ (подробности о возможных ограничительных конфигурациях наборов Tx / Rx-очередей см. в хорошо опубликованной документации API)


Наконец:

Почти наверняка UDP, тем меньше VPN имеет едва ли что-то связанное с «проблемой» ,

(производитель не делает Рассмотрим потребительскую способность потребителя. )

, поскольку это свойство конструкции концепции ZeroMQ, если только не реализован какой-либо прикладной домен распределенный c уровень распределенного FSA, поверх тривиального масштабируемого формального шаблона связи ZeroMQ архетипы, которые обеспечили бы такой уровень приложения add-on-service сигнализация / обмен сообщениями между автономными агентами (агентами, подобными ZeroMQ Context()), подобные агентам).

...