Q : «Что будет правильным ZMQ Pattern?»
В случае, если вы никогда не работали с ZeroMQ ,
, здесь вы можете впервые взглянуть на "ZeroMQ: Принципы менее чем за Пять секунд "
до
углубление в подробности
Исходя из сложной композиции всех требований, изложенных в пунктах 1-5,
смею сказать,
Правильно будет НЕ для использования единственного
стандартных, встроенных, тривиальных примитивных ZeroMQ Образцов архетипа связи, а для создания многоуровневой c специфической для приложения композиции из ( M + N + 1 с горячим резервом - достаточно надежная?) (Самонадежная?) Инфраструктура сигнализации и обмена сообщениями, которая покрывает все ваши текущие (и, возможно, расширяемые для любого будущего) требования на уровне приложений, как показано здесь для упрощения распределенные вычисления вариант использования, где был реализован простой удаленный SigKILL.
![enter image description here](https://i.stack.imgur.com/okidK.png)
Yes, the best would be to create ( and maintain ) your own formalised signalling, that the application level can handle and interact across -- like the heart-beating for detecting dead-worker(s) + permitting to re-instate such failed jobs right on-detected failures (most probably re-located and/or re-scheduled to take place & respective resources not statically pre-mapped, but where physically most feasible at the re-instating moment of time - so even more telemetry signalling will help you decide about the re-instating of the such failed micro-jobs).
ZeroMQ is a fabulous framework right for such complex signalling and messaging hiearachies, so your System Architect's imagination is the only ceiling in this concept.
ZeroMQ will take the rest and do all the hard work nice and easily.
Examples ?
Feel free to follow примеры и обсуждения из прошлого около ~ 6 лет, которые были достигнуты и, надеюсь, помогли примерно 1 300 000 StackOverflowers.