graph TD w1-xpub-->broker-xsub broker-xpub-->w1-xsub w2-xpub-->broker-xsub broker-xpub-->w2-xsub w3-xpub-->broker-xsub broker-xpub-->w3-xsub p1-xpub-->broker-xsub broker-xpub-->p1-xsub p2-xpub-->broker-xsub broker-xpub-->p2-xsub l1-xpub-->broker-xsub broker-xpub-->l1-xsub l2-xpub-->broker-xsub broker-xpub-->l2-xsub m-xpub-->broker-xsub broker-xpub-->m-xsub %% Logging w1-push-->l1-pull w1-push-->l2-pull w2-push-->l1-pull w2-push-->l2-pull w3-push-->l1-pull w3-push-->l2-pull p1-push-->l1-pull p1-push-->l2-pull p2-push-->l1-pull p2-push-->l2-pull m-push-->l1-pull m-push-->l2-pull subgraph broker ["broker"] broker-xpub((XPUB)) broker-xsub((XSUB)) broker-xpub-->broker-xsub broker-xsub-->broker-xpub end subgraph l1 [logger-1] l1-xpub((XPUB)) l1-xsub((XSUB)) l1-pull(PULL) end subgraph l2 [logger-2] l2-xpub((XPUB)) l2-xsub((XSUB)) l2-pull(PULL) end subgraph manager m-xpub((XPUB)) m-xsub((XSUB)) m-push(PUSH) end subgraph p1 [proxy-1] p1-xpub((XPUB)) p1-xsub((XSUB)) p1-push(PUSH) end subgraph p2 [proxy-2] p2-xpub((XPUB)) p2-xsub((XSUB)) p2-push(PUSH) end subgraph w1 [worker-1] w1-xpub((XPUB)) w1-xsub((XSUB)) w1-push(PUSH) end subgraph w2 [worker-2] w2-xpub((XPUB)) w2-xsub((XSUB)) w2-push(PUSH) end subgraph w3 [worker-3] w3-xpub((XPUB)) w3-xsub((XSUB)) w3-push(PUSH) end