Request-Reply模式

  1. Request-Reply是最复杂的模式了,模式多变且难以掌握,主要的是陷阱很多,一不小心就爬不出来了。

  2. router和dealer搭配使用时,必须都需要设置router id

  3. 发送给router或dealer的消息模型:

  4. router接收的消息模型:

  5. router发送的消息模型:

  6. router发送到网络上的数据

  7. dealer接收的消息模型:

  8. dealer发送的消息模型:

  9. 多层级联

Req-Rep

#mermaid-svg-kzIFDj9AXb6DZPaa .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-kzIFDj9AXb6DZPaa .label text{fill:#333}#mermaid-svg-kzIFDj9AXb6DZPaa .node rect,#mermaid-svg-kzIFDj9AXb6DZPaa .node circle,#mermaid-svg-kzIFDj9AXb6DZPaa .node ellipse,#mermaid-svg-kzIFDj9AXb6DZPaa .node polygon,#mermaid-svg-kzIFDj9AXb6DZPaa .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-kzIFDj9AXb6DZPaa .node .label{text-align:center;fill:#333}#mermaid-svg-kzIFDj9AXb6DZPaa .node.clickable{cursor:pointer}#mermaid-svg-kzIFDj9AXb6DZPaa .arrowheadPath{fill:#333}#mermaid-svg-kzIFDj9AXb6DZPaa .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-kzIFDj9AXb6DZPaa .flowchart-link{stroke:#333;fill:none}#mermaid-svg-kzIFDj9AXb6DZPaa .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-kzIFDj9AXb6DZPaa .edgeLabel rect{opacity:0.9}#mermaid-svg-kzIFDj9AXb6DZPaa .edgeLabel span{color:#333}#mermaid-svg-kzIFDj9AXb6DZPaa .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-kzIFDj9AXb6DZPaa .cluster text{fill:#333}#mermaid-svg-kzIFDj9AXb6DZPaa div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-kzIFDj9AXb6DZPaa .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-kzIFDj9AXb6DZPaa text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-kzIFDj9AXb6DZPaa .actor-line{stroke:grey}#mermaid-svg-kzIFDj9AXb6DZPaa .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-kzIFDj9AXb6DZPaa .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-kzIFDj9AXb6DZPaa #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-kzIFDj9AXb6DZPaa .sequenceNumber{fill:#fff}#mermaid-svg-kzIFDj9AXb6DZPaa #sequencenumber{fill:#333}#mermaid-svg-kzIFDj9AXb6DZPaa #crosshead path{fill:#333;stroke:#333}#mermaid-svg-kzIFDj9AXb6DZPaa .messageText{fill:#333;stroke:#333}#mermaid-svg-kzIFDj9AXb6DZPaa .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-kzIFDj9AXb6DZPaa .labelText,#mermaid-svg-kzIFDj9AXb6DZPaa .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-kzIFDj9AXb6DZPaa .loopText,#mermaid-svg-kzIFDj9AXb6DZPaa .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-kzIFDj9AXb6DZPaa .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-kzIFDj9AXb6DZPaa .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-kzIFDj9AXb6DZPaa .noteText,#mermaid-svg-kzIFDj9AXb6DZPaa .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-kzIFDj9AXb6DZPaa .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-kzIFDj9AXb6DZPaa .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-kzIFDj9AXb6DZPaa .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-kzIFDj9AXb6DZPaa .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-kzIFDj9AXb6DZPaa .section{stroke:none;opacity:0.2}#mermaid-svg-kzIFDj9AXb6DZPaa .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-kzIFDj9AXb6DZPaa .section2{fill:#fff400}#mermaid-svg-kzIFDj9AXb6DZPaa .section1,#mermaid-svg-kzIFDj9AXb6DZPaa .section3{fill:#fff;opacity:0.2}#mermaid-svg-kzIFDj9AXb6DZPaa .sectionTitle0{fill:#333}#mermaid-svg-kzIFDj9AXb6DZPaa .sectionTitle1{fill:#333}#mermaid-svg-kzIFDj9AXb6DZPaa .sectionTitle2{fill:#333}#mermaid-svg-kzIFDj9AXb6DZPaa .sectionTitle3{fill:#333}#mermaid-svg-kzIFDj9AXb6DZPaa .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-kzIFDj9AXb6DZPaa .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-kzIFDj9AXb6DZPaa .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-kzIFDj9AXb6DZPaa .grid path{stroke-width:0}#mermaid-svg-kzIFDj9AXb6DZPaa .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-kzIFDj9AXb6DZPaa .task{stroke-width:2}#mermaid-svg-kzIFDj9AXb6DZPaa .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-kzIFDj9AXb6DZPaa .taskText:not([font-size]){font-size:11px}#mermaid-svg-kzIFDj9AXb6DZPaa .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-kzIFDj9AXb6DZPaa .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-kzIFDj9AXb6DZPaa .task.clickable{cursor:pointer}#mermaid-svg-kzIFDj9AXb6DZPaa .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-kzIFDj9AXb6DZPaa .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-kzIFDj9AXb6DZPaa .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-kzIFDj9AXb6DZPaa .taskText0,#mermaid-svg-kzIFDj9AXb6DZPaa .taskText1,#mermaid-svg-kzIFDj9AXb6DZPaa .taskText2,#mermaid-svg-kzIFDj9AXb6DZPaa .taskText3{fill:#fff}#mermaid-svg-kzIFDj9AXb6DZPaa .task0,#mermaid-svg-kzIFDj9AXb6DZPaa .task1,#mermaid-svg-kzIFDj9AXb6DZPaa .task2,#mermaid-svg-kzIFDj9AXb6DZPaa .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-kzIFDj9AXb6DZPaa .taskTextOutside0,#mermaid-svg-kzIFDj9AXb6DZPaa .taskTextOutside2{fill:#000}#mermaid-svg-kzIFDj9AXb6DZPaa .taskTextOutside1,#mermaid-svg-kzIFDj9AXb6DZPaa .taskTextOutside3{fill:#000}#mermaid-svg-kzIFDj9AXb6DZPaa .active0,#mermaid-svg-kzIFDj9AXb6DZPaa .active1,#mermaid-svg-kzIFDj9AXb6DZPaa .active2,#mermaid-svg-kzIFDj9AXb6DZPaa .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-kzIFDj9AXb6DZPaa .activeText0,#mermaid-svg-kzIFDj9AXb6DZPaa .activeText1,#mermaid-svg-kzIFDj9AXb6DZPaa .activeText2,#mermaid-svg-kzIFDj9AXb6DZPaa .activeText3{fill:#000 !important}#mermaid-svg-kzIFDj9AXb6DZPaa .done0,#mermaid-svg-kzIFDj9AXb6DZPaa .done1,#mermaid-svg-kzIFDj9AXb6DZPaa .done2,#mermaid-svg-kzIFDj9AXb6DZPaa .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-kzIFDj9AXb6DZPaa .doneText0,#mermaid-svg-kzIFDj9AXb6DZPaa .doneText1,#mermaid-svg-kzIFDj9AXb6DZPaa .doneText2,#mermaid-svg-kzIFDj9AXb6DZPaa .doneText3{fill:#000 !important}#mermaid-svg-kzIFDj9AXb6DZPaa .crit0,#mermaid-svg-kzIFDj9AXb6DZPaa .crit1,#mermaid-svg-kzIFDj9AXb6DZPaa .crit2,#mermaid-svg-kzIFDj9AXb6DZPaa .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-kzIFDj9AXb6DZPaa .activeCrit0,#mermaid-svg-kzIFDj9AXb6DZPaa .activeCrit1,#mermaid-svg-kzIFDj9AXb6DZPaa .activeCrit2,#mermaid-svg-kzIFDj9AXb6DZPaa .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-kzIFDj9AXb6DZPaa .doneCrit0,#mermaid-svg-kzIFDj9AXb6DZPaa .doneCrit1,#mermaid-svg-kzIFDj9AXb6DZPaa .doneCrit2,#mermaid-svg-kzIFDj9AXb6DZPaa .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-kzIFDj9AXb6DZPaa .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-kzIFDj9AXb6DZPaa .milestoneText{font-style:italic}#mermaid-svg-kzIFDj9AXb6DZPaa .doneCritText0,#mermaid-svg-kzIFDj9AXb6DZPaa .doneCritText1,#mermaid-svg-kzIFDj9AXb6DZPaa .doneCritText2,#mermaid-svg-kzIFDj9AXb6DZPaa .doneCritText3{fill:#000 !important}#mermaid-svg-kzIFDj9AXb6DZPaa .activeCritText0,#mermaid-svg-kzIFDj9AXb6DZPaa .activeCritText1,#mermaid-svg-kzIFDj9AXb6DZPaa .activeCritText2,#mermaid-svg-kzIFDj9AXb6DZPaa .activeCritText3{fill:#000 !important}#mermaid-svg-kzIFDj9AXb6DZPaa .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-kzIFDj9AXb6DZPaa g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-kzIFDj9AXb6DZPaa g.classGroup text .title{font-weight:bolder}#mermaid-svg-kzIFDj9AXb6DZPaa g.clickable{cursor:pointer}#mermaid-svg-kzIFDj9AXb6DZPaa g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-kzIFDj9AXb6DZPaa g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-kzIFDj9AXb6DZPaa .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-kzIFDj9AXb6DZPaa .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-kzIFDj9AXb6DZPaa .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-kzIFDj9AXb6DZPaa .dashed-line{stroke-dasharray:3}#mermaid-svg-kzIFDj9AXb6DZPaa #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-kzIFDj9AXb6DZPaa #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-kzIFDj9AXb6DZPaa #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-kzIFDj9AXb6DZPaa #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-kzIFDj9AXb6DZPaa #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-kzIFDj9AXb6DZPaa #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-kzIFDj9AXb6DZPaa #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-kzIFDj9AXb6DZPaa #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-kzIFDj9AXb6DZPaa .commit-id,#mermaid-svg-kzIFDj9AXb6DZPaa .commit-msg,#mermaid-svg-kzIFDj9AXb6DZPaa .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-kzIFDj9AXb6DZPaa .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-kzIFDj9AXb6DZPaa .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-kzIFDj9AXb6DZPaa g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-kzIFDj9AXb6DZPaa g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-kzIFDj9AXb6DZPaa g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-kzIFDj9AXb6DZPaa g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-kzIFDj9AXb6DZPaa g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-kzIFDj9AXb6DZPaa g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-kzIFDj9AXb6DZPaa .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-kzIFDj9AXb6DZPaa .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-kzIFDj9AXb6DZPaa .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-kzIFDj9AXb6DZPaa .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-kzIFDj9AXb6DZPaa .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-kzIFDj9AXb6DZPaa .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-kzIFDj9AXb6DZPaa .edgeLabel text{fill:#333}#mermaid-svg-kzIFDj9AXb6DZPaa .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-kzIFDj9AXb6DZPaa .node circle.state-start{fill:black;stroke:black}#mermaid-svg-kzIFDj9AXb6DZPaa .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-kzIFDj9AXb6DZPaa #statediagram-barbEnd{fill:#9370db}#mermaid-svg-kzIFDj9AXb6DZPaa .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-kzIFDj9AXb6DZPaa .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-kzIFDj9AXb6DZPaa .statediagram-state .divider{stroke:#9370db}#mermaid-svg-kzIFDj9AXb6DZPaa .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-kzIFDj9AXb6DZPaa .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-kzIFDj9AXb6DZPaa .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-kzIFDj9AXb6DZPaa .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-kzIFDj9AXb6DZPaa .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-kzIFDj9AXb6DZPaa .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-kzIFDj9AXb6DZPaa .note-edge{stroke-dasharray:5}#mermaid-svg-kzIFDj9AXb6DZPaa .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-kzIFDj9AXb6DZPaa .error-icon{fill:#522}#mermaid-svg-kzIFDj9AXb6DZPaa .error-text{fill:#522;stroke:#522}#mermaid-svg-kzIFDj9AXb6DZPaa .edge-thickness-normal{stroke-width:2px}#mermaid-svg-kzIFDj9AXb6DZPaa .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-kzIFDj9AXb6DZPaa .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-kzIFDj9AXb6DZPaa .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-kzIFDj9AXb6DZPaa .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-kzIFDj9AXb6DZPaa .marker{fill:#333}#mermaid-svg-kzIFDj9AXb6DZPaa .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-kzIFDj9AXb6DZPaa {color: rgba(0, 0, 0, 0.75);font: ;}

ZMQ_REQ
*..*
ZMQ_REP
ZMQ_REQ
1..*
ZMQ_REP
ZMQ_REQ
1..*
ZMQ_REP
  1. 一个ZMQ_REQ可以对应多个ZMQ_REP
  2. 一个ZMQ_REP可以同时对应多个ZMQ_REQ
  3. ZMQ_REQ严格遵循send,recv顺序
  4. ZMQ_REP严格遵循recv,send顺序

Req-Router

#mermaid-svg-omdEry4GEFW3cvX0 .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-omdEry4GEFW3cvX0 .label text{fill:#333}#mermaid-svg-omdEry4GEFW3cvX0 .node rect,#mermaid-svg-omdEry4GEFW3cvX0 .node circle,#mermaid-svg-omdEry4GEFW3cvX0 .node ellipse,#mermaid-svg-omdEry4GEFW3cvX0 .node polygon,#mermaid-svg-omdEry4GEFW3cvX0 .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-omdEry4GEFW3cvX0 .node .label{text-align:center;fill:#333}#mermaid-svg-omdEry4GEFW3cvX0 .node.clickable{cursor:pointer}#mermaid-svg-omdEry4GEFW3cvX0 .arrowheadPath{fill:#333}#mermaid-svg-omdEry4GEFW3cvX0 .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-omdEry4GEFW3cvX0 .flowchart-link{stroke:#333;fill:none}#mermaid-svg-omdEry4GEFW3cvX0 .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-omdEry4GEFW3cvX0 .edgeLabel rect{opacity:0.9}#mermaid-svg-omdEry4GEFW3cvX0 .edgeLabel span{color:#333}#mermaid-svg-omdEry4GEFW3cvX0 .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-omdEry4GEFW3cvX0 .cluster text{fill:#333}#mermaid-svg-omdEry4GEFW3cvX0 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-omdEry4GEFW3cvX0 .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-omdEry4GEFW3cvX0 text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-omdEry4GEFW3cvX0 .actor-line{stroke:grey}#mermaid-svg-omdEry4GEFW3cvX0 .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-omdEry4GEFW3cvX0 .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-omdEry4GEFW3cvX0 #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-omdEry4GEFW3cvX0 .sequenceNumber{fill:#fff}#mermaid-svg-omdEry4GEFW3cvX0 #sequencenumber{fill:#333}#mermaid-svg-omdEry4GEFW3cvX0 #crosshead path{fill:#333;stroke:#333}#mermaid-svg-omdEry4GEFW3cvX0 .messageText{fill:#333;stroke:#333}#mermaid-svg-omdEry4GEFW3cvX0 .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-omdEry4GEFW3cvX0 .labelText,#mermaid-svg-omdEry4GEFW3cvX0 .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-omdEry4GEFW3cvX0 .loopText,#mermaid-svg-omdEry4GEFW3cvX0 .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-omdEry4GEFW3cvX0 .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-omdEry4GEFW3cvX0 .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-omdEry4GEFW3cvX0 .noteText,#mermaid-svg-omdEry4GEFW3cvX0 .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-omdEry4GEFW3cvX0 .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-omdEry4GEFW3cvX0 .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-omdEry4GEFW3cvX0 .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-omdEry4GEFW3cvX0 .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-omdEry4GEFW3cvX0 .section{stroke:none;opacity:0.2}#mermaid-svg-omdEry4GEFW3cvX0 .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-omdEry4GEFW3cvX0 .section2{fill:#fff400}#mermaid-svg-omdEry4GEFW3cvX0 .section1,#mermaid-svg-omdEry4GEFW3cvX0 .section3{fill:#fff;opacity:0.2}#mermaid-svg-omdEry4GEFW3cvX0 .sectionTitle0{fill:#333}#mermaid-svg-omdEry4GEFW3cvX0 .sectionTitle1{fill:#333}#mermaid-svg-omdEry4GEFW3cvX0 .sectionTitle2{fill:#333}#mermaid-svg-omdEry4GEFW3cvX0 .sectionTitle3{fill:#333}#mermaid-svg-omdEry4GEFW3cvX0 .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-omdEry4GEFW3cvX0 .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-omdEry4GEFW3cvX0 .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-omdEry4GEFW3cvX0 .grid path{stroke-width:0}#mermaid-svg-omdEry4GEFW3cvX0 .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-omdEry4GEFW3cvX0 .task{stroke-width:2}#mermaid-svg-omdEry4GEFW3cvX0 .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-omdEry4GEFW3cvX0 .taskText:not([font-size]){font-size:11px}#mermaid-svg-omdEry4GEFW3cvX0 .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-omdEry4GEFW3cvX0 .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-omdEry4GEFW3cvX0 .task.clickable{cursor:pointer}#mermaid-svg-omdEry4GEFW3cvX0 .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-omdEry4GEFW3cvX0 .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-omdEry4GEFW3cvX0 .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-omdEry4GEFW3cvX0 .taskText0,#mermaid-svg-omdEry4GEFW3cvX0 .taskText1,#mermaid-svg-omdEry4GEFW3cvX0 .taskText2,#mermaid-svg-omdEry4GEFW3cvX0 .taskText3{fill:#fff}#mermaid-svg-omdEry4GEFW3cvX0 .task0,#mermaid-svg-omdEry4GEFW3cvX0 .task1,#mermaid-svg-omdEry4GEFW3cvX0 .task2,#mermaid-svg-omdEry4GEFW3cvX0 .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-omdEry4GEFW3cvX0 .taskTextOutside0,#mermaid-svg-omdEry4GEFW3cvX0 .taskTextOutside2{fill:#000}#mermaid-svg-omdEry4GEFW3cvX0 .taskTextOutside1,#mermaid-svg-omdEry4GEFW3cvX0 .taskTextOutside3{fill:#000}#mermaid-svg-omdEry4GEFW3cvX0 .active0,#mermaid-svg-omdEry4GEFW3cvX0 .active1,#mermaid-svg-omdEry4GEFW3cvX0 .active2,#mermaid-svg-omdEry4GEFW3cvX0 .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-omdEry4GEFW3cvX0 .activeText0,#mermaid-svg-omdEry4GEFW3cvX0 .activeText1,#mermaid-svg-omdEry4GEFW3cvX0 .activeText2,#mermaid-svg-omdEry4GEFW3cvX0 .activeText3{fill:#000 !important}#mermaid-svg-omdEry4GEFW3cvX0 .done0,#mermaid-svg-omdEry4GEFW3cvX0 .done1,#mermaid-svg-omdEry4GEFW3cvX0 .done2,#mermaid-svg-omdEry4GEFW3cvX0 .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-omdEry4GEFW3cvX0 .doneText0,#mermaid-svg-omdEry4GEFW3cvX0 .doneText1,#mermaid-svg-omdEry4GEFW3cvX0 .doneText2,#mermaid-svg-omdEry4GEFW3cvX0 .doneText3{fill:#000 !important}#mermaid-svg-omdEry4GEFW3cvX0 .crit0,#mermaid-svg-omdEry4GEFW3cvX0 .crit1,#mermaid-svg-omdEry4GEFW3cvX0 .crit2,#mermaid-svg-omdEry4GEFW3cvX0 .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-omdEry4GEFW3cvX0 .activeCrit0,#mermaid-svg-omdEry4GEFW3cvX0 .activeCrit1,#mermaid-svg-omdEry4GEFW3cvX0 .activeCrit2,#mermaid-svg-omdEry4GEFW3cvX0 .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-omdEry4GEFW3cvX0 .doneCrit0,#mermaid-svg-omdEry4GEFW3cvX0 .doneCrit1,#mermaid-svg-omdEry4GEFW3cvX0 .doneCrit2,#mermaid-svg-omdEry4GEFW3cvX0 .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-omdEry4GEFW3cvX0 .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-omdEry4GEFW3cvX0 .milestoneText{font-style:italic}#mermaid-svg-omdEry4GEFW3cvX0 .doneCritText0,#mermaid-svg-omdEry4GEFW3cvX0 .doneCritText1,#mermaid-svg-omdEry4GEFW3cvX0 .doneCritText2,#mermaid-svg-omdEry4GEFW3cvX0 .doneCritText3{fill:#000 !important}#mermaid-svg-omdEry4GEFW3cvX0 .activeCritText0,#mermaid-svg-omdEry4GEFW3cvX0 .activeCritText1,#mermaid-svg-omdEry4GEFW3cvX0 .activeCritText2,#mermaid-svg-omdEry4GEFW3cvX0 .activeCritText3{fill:#000 !important}#mermaid-svg-omdEry4GEFW3cvX0 .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-omdEry4GEFW3cvX0 g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-omdEry4GEFW3cvX0 g.classGroup text .title{font-weight:bolder}#mermaid-svg-omdEry4GEFW3cvX0 g.clickable{cursor:pointer}#mermaid-svg-omdEry4GEFW3cvX0 g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-omdEry4GEFW3cvX0 g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-omdEry4GEFW3cvX0 .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-omdEry4GEFW3cvX0 .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-omdEry4GEFW3cvX0 .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-omdEry4GEFW3cvX0 .dashed-line{stroke-dasharray:3}#mermaid-svg-omdEry4GEFW3cvX0 #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-omdEry4GEFW3cvX0 #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-omdEry4GEFW3cvX0 #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-omdEry4GEFW3cvX0 #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-omdEry4GEFW3cvX0 #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-omdEry4GEFW3cvX0 #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-omdEry4GEFW3cvX0 #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-omdEry4GEFW3cvX0 #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-omdEry4GEFW3cvX0 .commit-id,#mermaid-svg-omdEry4GEFW3cvX0 .commit-msg,#mermaid-svg-omdEry4GEFW3cvX0 .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-omdEry4GEFW3cvX0 .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-omdEry4GEFW3cvX0 .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-omdEry4GEFW3cvX0 g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-omdEry4GEFW3cvX0 g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-omdEry4GEFW3cvX0 g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-omdEry4GEFW3cvX0 g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-omdEry4GEFW3cvX0 g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-omdEry4GEFW3cvX0 g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-omdEry4GEFW3cvX0 .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-omdEry4GEFW3cvX0 .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-omdEry4GEFW3cvX0 .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-omdEry4GEFW3cvX0 .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-omdEry4GEFW3cvX0 .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-omdEry4GEFW3cvX0 .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-omdEry4GEFW3cvX0 .edgeLabel text{fill:#333}#mermaid-svg-omdEry4GEFW3cvX0 .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-omdEry4GEFW3cvX0 .node circle.state-start{fill:black;stroke:black}#mermaid-svg-omdEry4GEFW3cvX0 .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-omdEry4GEFW3cvX0 #statediagram-barbEnd{fill:#9370db}#mermaid-svg-omdEry4GEFW3cvX0 .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-omdEry4GEFW3cvX0 .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-omdEry4GEFW3cvX0 .statediagram-state .divider{stroke:#9370db}#mermaid-svg-omdEry4GEFW3cvX0 .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-omdEry4GEFW3cvX0 .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-omdEry4GEFW3cvX0 .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-omdEry4GEFW3cvX0 .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-omdEry4GEFW3cvX0 .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-omdEry4GEFW3cvX0 .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-omdEry4GEFW3cvX0 .note-edge{stroke-dasharray:5}#mermaid-svg-omdEry4GEFW3cvX0 .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-omdEry4GEFW3cvX0 .error-icon{fill:#522}#mermaid-svg-omdEry4GEFW3cvX0 .error-text{fill:#522;stroke:#522}#mermaid-svg-omdEry4GEFW3cvX0 .edge-thickness-normal{stroke-width:2px}#mermaid-svg-omdEry4GEFW3cvX0 .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-omdEry4GEFW3cvX0 .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-omdEry4GEFW3cvX0 .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-omdEry4GEFW3cvX0 .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-omdEry4GEFW3cvX0 .marker{fill:#333}#mermaid-svg-omdEry4GEFW3cvX0 .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-omdEry4GEFW3cvX0 {color: rgba(0, 0, 0, 0.75);font: ;}

ZMQ_REQ
*..*
ZMQ_ROUTER
ZMQ_REQ
1..*
ZMQ_ROUTER
ZMQ_REQ
1..*
ZMQ_ROUTER

Router-Dealer

#mermaid-svg-QAhcFmwbNmGaGhuX .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-QAhcFmwbNmGaGhuX .label text{fill:#333}#mermaid-svg-QAhcFmwbNmGaGhuX .node rect,#mermaid-svg-QAhcFmwbNmGaGhuX .node circle,#mermaid-svg-QAhcFmwbNmGaGhuX .node ellipse,#mermaid-svg-QAhcFmwbNmGaGhuX .node polygon,#mermaid-svg-QAhcFmwbNmGaGhuX .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-QAhcFmwbNmGaGhuX .node .label{text-align:center;fill:#333}#mermaid-svg-QAhcFmwbNmGaGhuX .node.clickable{cursor:pointer}#mermaid-svg-QAhcFmwbNmGaGhuX .arrowheadPath{fill:#333}#mermaid-svg-QAhcFmwbNmGaGhuX .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-QAhcFmwbNmGaGhuX .flowchart-link{stroke:#333;fill:none}#mermaid-svg-QAhcFmwbNmGaGhuX .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-QAhcFmwbNmGaGhuX .edgeLabel rect{opacity:0.9}#mermaid-svg-QAhcFmwbNmGaGhuX .edgeLabel span{color:#333}#mermaid-svg-QAhcFmwbNmGaGhuX .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-QAhcFmwbNmGaGhuX .cluster text{fill:#333}#mermaid-svg-QAhcFmwbNmGaGhuX div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-QAhcFmwbNmGaGhuX .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-QAhcFmwbNmGaGhuX text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-QAhcFmwbNmGaGhuX .actor-line{stroke:grey}#mermaid-svg-QAhcFmwbNmGaGhuX .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-QAhcFmwbNmGaGhuX .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-QAhcFmwbNmGaGhuX #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-QAhcFmwbNmGaGhuX .sequenceNumber{fill:#fff}#mermaid-svg-QAhcFmwbNmGaGhuX #sequencenumber{fill:#333}#mermaid-svg-QAhcFmwbNmGaGhuX #crosshead path{fill:#333;stroke:#333}#mermaid-svg-QAhcFmwbNmGaGhuX .messageText{fill:#333;stroke:#333}#mermaid-svg-QAhcFmwbNmGaGhuX .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-QAhcFmwbNmGaGhuX .labelText,#mermaid-svg-QAhcFmwbNmGaGhuX .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-QAhcFmwbNmGaGhuX .loopText,#mermaid-svg-QAhcFmwbNmGaGhuX .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-QAhcFmwbNmGaGhuX .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-QAhcFmwbNmGaGhuX .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-QAhcFmwbNmGaGhuX .noteText,#mermaid-svg-QAhcFmwbNmGaGhuX .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-QAhcFmwbNmGaGhuX .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-QAhcFmwbNmGaGhuX .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-QAhcFmwbNmGaGhuX .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-QAhcFmwbNmGaGhuX .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-QAhcFmwbNmGaGhuX .section{stroke:none;opacity:0.2}#mermaid-svg-QAhcFmwbNmGaGhuX .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-QAhcFmwbNmGaGhuX .section2{fill:#fff400}#mermaid-svg-QAhcFmwbNmGaGhuX .section1,#mermaid-svg-QAhcFmwbNmGaGhuX .section3{fill:#fff;opacity:0.2}#mermaid-svg-QAhcFmwbNmGaGhuX .sectionTitle0{fill:#333}#mermaid-svg-QAhcFmwbNmGaGhuX .sectionTitle1{fill:#333}#mermaid-svg-QAhcFmwbNmGaGhuX .sectionTitle2{fill:#333}#mermaid-svg-QAhcFmwbNmGaGhuX .sectionTitle3{fill:#333}#mermaid-svg-QAhcFmwbNmGaGhuX .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-QAhcFmwbNmGaGhuX .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-QAhcFmwbNmGaGhuX .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-QAhcFmwbNmGaGhuX .grid path{stroke-width:0}#mermaid-svg-QAhcFmwbNmGaGhuX .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-QAhcFmwbNmGaGhuX .task{stroke-width:2}#mermaid-svg-QAhcFmwbNmGaGhuX .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-QAhcFmwbNmGaGhuX .taskText:not([font-size]){font-size:11px}#mermaid-svg-QAhcFmwbNmGaGhuX .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-QAhcFmwbNmGaGhuX .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-QAhcFmwbNmGaGhuX .task.clickable{cursor:pointer}#mermaid-svg-QAhcFmwbNmGaGhuX .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-QAhcFmwbNmGaGhuX .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-QAhcFmwbNmGaGhuX .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-QAhcFmwbNmGaGhuX .taskText0,#mermaid-svg-QAhcFmwbNmGaGhuX .taskText1,#mermaid-svg-QAhcFmwbNmGaGhuX .taskText2,#mermaid-svg-QAhcFmwbNmGaGhuX .taskText3{fill:#fff}#mermaid-svg-QAhcFmwbNmGaGhuX .task0,#mermaid-svg-QAhcFmwbNmGaGhuX .task1,#mermaid-svg-QAhcFmwbNmGaGhuX .task2,#mermaid-svg-QAhcFmwbNmGaGhuX .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-QAhcFmwbNmGaGhuX .taskTextOutside0,#mermaid-svg-QAhcFmwbNmGaGhuX .taskTextOutside2{fill:#000}#mermaid-svg-QAhcFmwbNmGaGhuX .taskTextOutside1,#mermaid-svg-QAhcFmwbNmGaGhuX .taskTextOutside3{fill:#000}#mermaid-svg-QAhcFmwbNmGaGhuX .active0,#mermaid-svg-QAhcFmwbNmGaGhuX .active1,#mermaid-svg-QAhcFmwbNmGaGhuX .active2,#mermaid-svg-QAhcFmwbNmGaGhuX .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-QAhcFmwbNmGaGhuX .activeText0,#mermaid-svg-QAhcFmwbNmGaGhuX .activeText1,#mermaid-svg-QAhcFmwbNmGaGhuX .activeText2,#mermaid-svg-QAhcFmwbNmGaGhuX .activeText3{fill:#000 !important}#mermaid-svg-QAhcFmwbNmGaGhuX .done0,#mermaid-svg-QAhcFmwbNmGaGhuX .done1,#mermaid-svg-QAhcFmwbNmGaGhuX .done2,#mermaid-svg-QAhcFmwbNmGaGhuX .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-QAhcFmwbNmGaGhuX .doneText0,#mermaid-svg-QAhcFmwbNmGaGhuX .doneText1,#mermaid-svg-QAhcFmwbNmGaGhuX .doneText2,#mermaid-svg-QAhcFmwbNmGaGhuX .doneText3{fill:#000 !important}#mermaid-svg-QAhcFmwbNmGaGhuX .crit0,#mermaid-svg-QAhcFmwbNmGaGhuX .crit1,#mermaid-svg-QAhcFmwbNmGaGhuX .crit2,#mermaid-svg-QAhcFmwbNmGaGhuX .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-QAhcFmwbNmGaGhuX .activeCrit0,#mermaid-svg-QAhcFmwbNmGaGhuX .activeCrit1,#mermaid-svg-QAhcFmwbNmGaGhuX .activeCrit2,#mermaid-svg-QAhcFmwbNmGaGhuX .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-QAhcFmwbNmGaGhuX .doneCrit0,#mermaid-svg-QAhcFmwbNmGaGhuX .doneCrit1,#mermaid-svg-QAhcFmwbNmGaGhuX .doneCrit2,#mermaid-svg-QAhcFmwbNmGaGhuX .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-QAhcFmwbNmGaGhuX .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-QAhcFmwbNmGaGhuX .milestoneText{font-style:italic}#mermaid-svg-QAhcFmwbNmGaGhuX .doneCritText0,#mermaid-svg-QAhcFmwbNmGaGhuX .doneCritText1,#mermaid-svg-QAhcFmwbNmGaGhuX .doneCritText2,#mermaid-svg-QAhcFmwbNmGaGhuX .doneCritText3{fill:#000 !important}#mermaid-svg-QAhcFmwbNmGaGhuX .activeCritText0,#mermaid-svg-QAhcFmwbNmGaGhuX .activeCritText1,#mermaid-svg-QAhcFmwbNmGaGhuX .activeCritText2,#mermaid-svg-QAhcFmwbNmGaGhuX .activeCritText3{fill:#000 !important}#mermaid-svg-QAhcFmwbNmGaGhuX .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-QAhcFmwbNmGaGhuX g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-QAhcFmwbNmGaGhuX g.classGroup text .title{font-weight:bolder}#mermaid-svg-QAhcFmwbNmGaGhuX g.clickable{cursor:pointer}#mermaid-svg-QAhcFmwbNmGaGhuX g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-QAhcFmwbNmGaGhuX g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-QAhcFmwbNmGaGhuX .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-QAhcFmwbNmGaGhuX .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-QAhcFmwbNmGaGhuX .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-QAhcFmwbNmGaGhuX .dashed-line{stroke-dasharray:3}#mermaid-svg-QAhcFmwbNmGaGhuX #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-QAhcFmwbNmGaGhuX #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-QAhcFmwbNmGaGhuX #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-QAhcFmwbNmGaGhuX #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-QAhcFmwbNmGaGhuX #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-QAhcFmwbNmGaGhuX #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-QAhcFmwbNmGaGhuX #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-QAhcFmwbNmGaGhuX #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-QAhcFmwbNmGaGhuX .commit-id,#mermaid-svg-QAhcFmwbNmGaGhuX .commit-msg,#mermaid-svg-QAhcFmwbNmGaGhuX .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-QAhcFmwbNmGaGhuX .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-QAhcFmwbNmGaGhuX .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-QAhcFmwbNmGaGhuX g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-QAhcFmwbNmGaGhuX g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-QAhcFmwbNmGaGhuX g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-QAhcFmwbNmGaGhuX g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-QAhcFmwbNmGaGhuX g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-QAhcFmwbNmGaGhuX g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-QAhcFmwbNmGaGhuX .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-QAhcFmwbNmGaGhuX .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-QAhcFmwbNmGaGhuX .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-QAhcFmwbNmGaGhuX .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-QAhcFmwbNmGaGhuX .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-QAhcFmwbNmGaGhuX .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-QAhcFmwbNmGaGhuX .edgeLabel text{fill:#333}#mermaid-svg-QAhcFmwbNmGaGhuX .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-QAhcFmwbNmGaGhuX .node circle.state-start{fill:black;stroke:black}#mermaid-svg-QAhcFmwbNmGaGhuX .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-QAhcFmwbNmGaGhuX #statediagram-barbEnd{fill:#9370db}#mermaid-svg-QAhcFmwbNmGaGhuX .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-QAhcFmwbNmGaGhuX .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-QAhcFmwbNmGaGhuX .statediagram-state .divider{stroke:#9370db}#mermaid-svg-QAhcFmwbNmGaGhuX .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-QAhcFmwbNmGaGhuX .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-QAhcFmwbNmGaGhuX .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-QAhcFmwbNmGaGhuX .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-QAhcFmwbNmGaGhuX .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-QAhcFmwbNmGaGhuX .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-QAhcFmwbNmGaGhuX .note-edge{stroke-dasharray:5}#mermaid-svg-QAhcFmwbNmGaGhuX .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-QAhcFmwbNmGaGhuX .error-icon{fill:#522}#mermaid-svg-QAhcFmwbNmGaGhuX .error-text{fill:#522;stroke:#522}#mermaid-svg-QAhcFmwbNmGaGhuX .edge-thickness-normal{stroke-width:2px}#mermaid-svg-QAhcFmwbNmGaGhuX .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-QAhcFmwbNmGaGhuX .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-QAhcFmwbNmGaGhuX .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-QAhcFmwbNmGaGhuX .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-QAhcFmwbNmGaGhuX .marker{fill:#333}#mermaid-svg-QAhcFmwbNmGaGhuX .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-QAhcFmwbNmGaGhuX {color: rgba(0, 0, 0, 0.75);font: ;}

ZMQ_ROUTER
*..*
ZMQ_DEALER
ZMQ_ROUTER
1..*
ZMQ_DEALER
ZMQ_ROUTER
1..*
ZMQ_DEALER
  1. 一个ZMQ_ROUTER可以对应多个ZMQ_DEALER
  2. 多个ZMQ_DEALER之间可以通过一个ZMQ_ROUTER通信

Dealer-Router

#mermaid-svg-EgvvDqeueqKGLumG .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-EgvvDqeueqKGLumG .label text{fill:#333}#mermaid-svg-EgvvDqeueqKGLumG .node rect,#mermaid-svg-EgvvDqeueqKGLumG .node circle,#mermaid-svg-EgvvDqeueqKGLumG .node ellipse,#mermaid-svg-EgvvDqeueqKGLumG .node polygon,#mermaid-svg-EgvvDqeueqKGLumG .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-EgvvDqeueqKGLumG .node .label{text-align:center;fill:#333}#mermaid-svg-EgvvDqeueqKGLumG .node.clickable{cursor:pointer}#mermaid-svg-EgvvDqeueqKGLumG .arrowheadPath{fill:#333}#mermaid-svg-EgvvDqeueqKGLumG .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-EgvvDqeueqKGLumG .flowchart-link{stroke:#333;fill:none}#mermaid-svg-EgvvDqeueqKGLumG .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-EgvvDqeueqKGLumG .edgeLabel rect{opacity:0.9}#mermaid-svg-EgvvDqeueqKGLumG .edgeLabel span{color:#333}#mermaid-svg-EgvvDqeueqKGLumG .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-EgvvDqeueqKGLumG .cluster text{fill:#333}#mermaid-svg-EgvvDqeueqKGLumG div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-EgvvDqeueqKGLumG .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-EgvvDqeueqKGLumG text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-EgvvDqeueqKGLumG .actor-line{stroke:grey}#mermaid-svg-EgvvDqeueqKGLumG .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-EgvvDqeueqKGLumG .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-EgvvDqeueqKGLumG #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-EgvvDqeueqKGLumG .sequenceNumber{fill:#fff}#mermaid-svg-EgvvDqeueqKGLumG #sequencenumber{fill:#333}#mermaid-svg-EgvvDqeueqKGLumG #crosshead path{fill:#333;stroke:#333}#mermaid-svg-EgvvDqeueqKGLumG .messageText{fill:#333;stroke:#333}#mermaid-svg-EgvvDqeueqKGLumG .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-EgvvDqeueqKGLumG .labelText,#mermaid-svg-EgvvDqeueqKGLumG .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-EgvvDqeueqKGLumG .loopText,#mermaid-svg-EgvvDqeueqKGLumG .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-EgvvDqeueqKGLumG .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-EgvvDqeueqKGLumG .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-EgvvDqeueqKGLumG .noteText,#mermaid-svg-EgvvDqeueqKGLumG .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-EgvvDqeueqKGLumG .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-EgvvDqeueqKGLumG .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-EgvvDqeueqKGLumG .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-EgvvDqeueqKGLumG .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-EgvvDqeueqKGLumG .section{stroke:none;opacity:0.2}#mermaid-svg-EgvvDqeueqKGLumG .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-EgvvDqeueqKGLumG .section2{fill:#fff400}#mermaid-svg-EgvvDqeueqKGLumG .section1,#mermaid-svg-EgvvDqeueqKGLumG .section3{fill:#fff;opacity:0.2}#mermaid-svg-EgvvDqeueqKGLumG .sectionTitle0{fill:#333}#mermaid-svg-EgvvDqeueqKGLumG .sectionTitle1{fill:#333}#mermaid-svg-EgvvDqeueqKGLumG .sectionTitle2{fill:#333}#mermaid-svg-EgvvDqeueqKGLumG .sectionTitle3{fill:#333}#mermaid-svg-EgvvDqeueqKGLumG .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-EgvvDqeueqKGLumG .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-EgvvDqeueqKGLumG .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-EgvvDqeueqKGLumG .grid path{stroke-width:0}#mermaid-svg-EgvvDqeueqKGLumG .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-EgvvDqeueqKGLumG .task{stroke-width:2}#mermaid-svg-EgvvDqeueqKGLumG .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-EgvvDqeueqKGLumG .taskText:not([font-size]){font-size:11px}#mermaid-svg-EgvvDqeueqKGLumG .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-EgvvDqeueqKGLumG .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-EgvvDqeueqKGLumG .task.clickable{cursor:pointer}#mermaid-svg-EgvvDqeueqKGLumG .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-EgvvDqeueqKGLumG .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-EgvvDqeueqKGLumG .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-EgvvDqeueqKGLumG .taskText0,#mermaid-svg-EgvvDqeueqKGLumG .taskText1,#mermaid-svg-EgvvDqeueqKGLumG .taskText2,#mermaid-svg-EgvvDqeueqKGLumG .taskText3{fill:#fff}#mermaid-svg-EgvvDqeueqKGLumG .task0,#mermaid-svg-EgvvDqeueqKGLumG .task1,#mermaid-svg-EgvvDqeueqKGLumG .task2,#mermaid-svg-EgvvDqeueqKGLumG .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-EgvvDqeueqKGLumG .taskTextOutside0,#mermaid-svg-EgvvDqeueqKGLumG .taskTextOutside2{fill:#000}#mermaid-svg-EgvvDqeueqKGLumG .taskTextOutside1,#mermaid-svg-EgvvDqeueqKGLumG .taskTextOutside3{fill:#000}#mermaid-svg-EgvvDqeueqKGLumG .active0,#mermaid-svg-EgvvDqeueqKGLumG .active1,#mermaid-svg-EgvvDqeueqKGLumG .active2,#mermaid-svg-EgvvDqeueqKGLumG .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-EgvvDqeueqKGLumG .activeText0,#mermaid-svg-EgvvDqeueqKGLumG .activeText1,#mermaid-svg-EgvvDqeueqKGLumG .activeText2,#mermaid-svg-EgvvDqeueqKGLumG .activeText3{fill:#000 !important}#mermaid-svg-EgvvDqeueqKGLumG .done0,#mermaid-svg-EgvvDqeueqKGLumG .done1,#mermaid-svg-EgvvDqeueqKGLumG .done2,#mermaid-svg-EgvvDqeueqKGLumG .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-EgvvDqeueqKGLumG .doneText0,#mermaid-svg-EgvvDqeueqKGLumG .doneText1,#mermaid-svg-EgvvDqeueqKGLumG .doneText2,#mermaid-svg-EgvvDqeueqKGLumG .doneText3{fill:#000 !important}#mermaid-svg-EgvvDqeueqKGLumG .crit0,#mermaid-svg-EgvvDqeueqKGLumG .crit1,#mermaid-svg-EgvvDqeueqKGLumG .crit2,#mermaid-svg-EgvvDqeueqKGLumG .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-EgvvDqeueqKGLumG .activeCrit0,#mermaid-svg-EgvvDqeueqKGLumG .activeCrit1,#mermaid-svg-EgvvDqeueqKGLumG .activeCrit2,#mermaid-svg-EgvvDqeueqKGLumG .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-EgvvDqeueqKGLumG .doneCrit0,#mermaid-svg-EgvvDqeueqKGLumG .doneCrit1,#mermaid-svg-EgvvDqeueqKGLumG .doneCrit2,#mermaid-svg-EgvvDqeueqKGLumG .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-EgvvDqeueqKGLumG .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-EgvvDqeueqKGLumG .milestoneText{font-style:italic}#mermaid-svg-EgvvDqeueqKGLumG .doneCritText0,#mermaid-svg-EgvvDqeueqKGLumG .doneCritText1,#mermaid-svg-EgvvDqeueqKGLumG .doneCritText2,#mermaid-svg-EgvvDqeueqKGLumG .doneCritText3{fill:#000 !important}#mermaid-svg-EgvvDqeueqKGLumG .activeCritText0,#mermaid-svg-EgvvDqeueqKGLumG .activeCritText1,#mermaid-svg-EgvvDqeueqKGLumG .activeCritText2,#mermaid-svg-EgvvDqeueqKGLumG .activeCritText3{fill:#000 !important}#mermaid-svg-EgvvDqeueqKGLumG .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-EgvvDqeueqKGLumG g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-EgvvDqeueqKGLumG g.classGroup text .title{font-weight:bolder}#mermaid-svg-EgvvDqeueqKGLumG g.clickable{cursor:pointer}#mermaid-svg-EgvvDqeueqKGLumG g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-EgvvDqeueqKGLumG g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-EgvvDqeueqKGLumG .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-EgvvDqeueqKGLumG .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-EgvvDqeueqKGLumG .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-EgvvDqeueqKGLumG .dashed-line{stroke-dasharray:3}#mermaid-svg-EgvvDqeueqKGLumG #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-EgvvDqeueqKGLumG #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-EgvvDqeueqKGLumG #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-EgvvDqeueqKGLumG #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-EgvvDqeueqKGLumG #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-EgvvDqeueqKGLumG #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-EgvvDqeueqKGLumG #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-EgvvDqeueqKGLumG #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-EgvvDqeueqKGLumG .commit-id,#mermaid-svg-EgvvDqeueqKGLumG .commit-msg,#mermaid-svg-EgvvDqeueqKGLumG .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-EgvvDqeueqKGLumG .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-EgvvDqeueqKGLumG .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-EgvvDqeueqKGLumG g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-EgvvDqeueqKGLumG g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-EgvvDqeueqKGLumG g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-EgvvDqeueqKGLumG g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-EgvvDqeueqKGLumG g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-EgvvDqeueqKGLumG g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-EgvvDqeueqKGLumG .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-EgvvDqeueqKGLumG .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-EgvvDqeueqKGLumG .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-EgvvDqeueqKGLumG .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-EgvvDqeueqKGLumG .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-EgvvDqeueqKGLumG .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-EgvvDqeueqKGLumG .edgeLabel text{fill:#333}#mermaid-svg-EgvvDqeueqKGLumG .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-EgvvDqeueqKGLumG .node circle.state-start{fill:black;stroke:black}#mermaid-svg-EgvvDqeueqKGLumG .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-EgvvDqeueqKGLumG #statediagram-barbEnd{fill:#9370db}#mermaid-svg-EgvvDqeueqKGLumG .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-EgvvDqeueqKGLumG .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-EgvvDqeueqKGLumG .statediagram-state .divider{stroke:#9370db}#mermaid-svg-EgvvDqeueqKGLumG .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-EgvvDqeueqKGLumG .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-EgvvDqeueqKGLumG .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-EgvvDqeueqKGLumG .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-EgvvDqeueqKGLumG .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-EgvvDqeueqKGLumG .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-EgvvDqeueqKGLumG .note-edge{stroke-dasharray:5}#mermaid-svg-EgvvDqeueqKGLumG .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-EgvvDqeueqKGLumG .error-icon{fill:#522}#mermaid-svg-EgvvDqeueqKGLumG .error-text{fill:#522;stroke:#522}#mermaid-svg-EgvvDqeueqKGLumG .edge-thickness-normal{stroke-width:2px}#mermaid-svg-EgvvDqeueqKGLumG .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-EgvvDqeueqKGLumG .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-EgvvDqeueqKGLumG .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-EgvvDqeueqKGLumG .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-EgvvDqeueqKGLumG .marker{fill:#333}#mermaid-svg-EgvvDqeueqKGLumG .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-EgvvDqeueqKGLumG {color: rgba(0, 0, 0, 0.75);font: ;}

ZMQ_DEALER
*..*
ZMQ_ROUTER
ZMQ_DEALER
*..1
ZMQ_ROUTER
ZMQ_DEALER
*..1
ZMQ_ROUTER
  1. 一个ZMQ_ROUTER可以对应多个ZMQ_DEALER
  2. 多个ZMQ_DEALER之间可以通过一个ZMQ_ROUTER通信

Dealer-Rep

#mermaid-svg-DjHebpYgyjmuKbTL .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-DjHebpYgyjmuKbTL .label text{fill:#333}#mermaid-svg-DjHebpYgyjmuKbTL .node rect,#mermaid-svg-DjHebpYgyjmuKbTL .node circle,#mermaid-svg-DjHebpYgyjmuKbTL .node ellipse,#mermaid-svg-DjHebpYgyjmuKbTL .node polygon,#mermaid-svg-DjHebpYgyjmuKbTL .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-DjHebpYgyjmuKbTL .node .label{text-align:center;fill:#333}#mermaid-svg-DjHebpYgyjmuKbTL .node.clickable{cursor:pointer}#mermaid-svg-DjHebpYgyjmuKbTL .arrowheadPath{fill:#333}#mermaid-svg-DjHebpYgyjmuKbTL .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-DjHebpYgyjmuKbTL .flowchart-link{stroke:#333;fill:none}#mermaid-svg-DjHebpYgyjmuKbTL .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-DjHebpYgyjmuKbTL .edgeLabel rect{opacity:0.9}#mermaid-svg-DjHebpYgyjmuKbTL .edgeLabel span{color:#333}#mermaid-svg-DjHebpYgyjmuKbTL .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-DjHebpYgyjmuKbTL .cluster text{fill:#333}#mermaid-svg-DjHebpYgyjmuKbTL div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-DjHebpYgyjmuKbTL .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-DjHebpYgyjmuKbTL text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-DjHebpYgyjmuKbTL .actor-line{stroke:grey}#mermaid-svg-DjHebpYgyjmuKbTL .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-DjHebpYgyjmuKbTL .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-DjHebpYgyjmuKbTL #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-DjHebpYgyjmuKbTL .sequenceNumber{fill:#fff}#mermaid-svg-DjHebpYgyjmuKbTL #sequencenumber{fill:#333}#mermaid-svg-DjHebpYgyjmuKbTL #crosshead path{fill:#333;stroke:#333}#mermaid-svg-DjHebpYgyjmuKbTL .messageText{fill:#333;stroke:#333}#mermaid-svg-DjHebpYgyjmuKbTL .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-DjHebpYgyjmuKbTL .labelText,#mermaid-svg-DjHebpYgyjmuKbTL .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-DjHebpYgyjmuKbTL .loopText,#mermaid-svg-DjHebpYgyjmuKbTL .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-DjHebpYgyjmuKbTL .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-DjHebpYgyjmuKbTL .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-DjHebpYgyjmuKbTL .noteText,#mermaid-svg-DjHebpYgyjmuKbTL .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-DjHebpYgyjmuKbTL .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-DjHebpYgyjmuKbTL .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-DjHebpYgyjmuKbTL .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-DjHebpYgyjmuKbTL .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-DjHebpYgyjmuKbTL .section{stroke:none;opacity:0.2}#mermaid-svg-DjHebpYgyjmuKbTL .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-DjHebpYgyjmuKbTL .section2{fill:#fff400}#mermaid-svg-DjHebpYgyjmuKbTL .section1,#mermaid-svg-DjHebpYgyjmuKbTL .section3{fill:#fff;opacity:0.2}#mermaid-svg-DjHebpYgyjmuKbTL .sectionTitle0{fill:#333}#mermaid-svg-DjHebpYgyjmuKbTL .sectionTitle1{fill:#333}#mermaid-svg-DjHebpYgyjmuKbTL .sectionTitle2{fill:#333}#mermaid-svg-DjHebpYgyjmuKbTL .sectionTitle3{fill:#333}#mermaid-svg-DjHebpYgyjmuKbTL .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-DjHebpYgyjmuKbTL .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-DjHebpYgyjmuKbTL .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-DjHebpYgyjmuKbTL .grid path{stroke-width:0}#mermaid-svg-DjHebpYgyjmuKbTL .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-DjHebpYgyjmuKbTL .task{stroke-width:2}#mermaid-svg-DjHebpYgyjmuKbTL .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-DjHebpYgyjmuKbTL .taskText:not([font-size]){font-size:11px}#mermaid-svg-DjHebpYgyjmuKbTL .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-DjHebpYgyjmuKbTL .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-DjHebpYgyjmuKbTL .task.clickable{cursor:pointer}#mermaid-svg-DjHebpYgyjmuKbTL .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-DjHebpYgyjmuKbTL .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-DjHebpYgyjmuKbTL .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-DjHebpYgyjmuKbTL .taskText0,#mermaid-svg-DjHebpYgyjmuKbTL .taskText1,#mermaid-svg-DjHebpYgyjmuKbTL .taskText2,#mermaid-svg-DjHebpYgyjmuKbTL .taskText3{fill:#fff}#mermaid-svg-DjHebpYgyjmuKbTL .task0,#mermaid-svg-DjHebpYgyjmuKbTL .task1,#mermaid-svg-DjHebpYgyjmuKbTL .task2,#mermaid-svg-DjHebpYgyjmuKbTL .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-DjHebpYgyjmuKbTL .taskTextOutside0,#mermaid-svg-DjHebpYgyjmuKbTL .taskTextOutside2{fill:#000}#mermaid-svg-DjHebpYgyjmuKbTL .taskTextOutside1,#mermaid-svg-DjHebpYgyjmuKbTL .taskTextOutside3{fill:#000}#mermaid-svg-DjHebpYgyjmuKbTL .active0,#mermaid-svg-DjHebpYgyjmuKbTL .active1,#mermaid-svg-DjHebpYgyjmuKbTL .active2,#mermaid-svg-DjHebpYgyjmuKbTL .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-DjHebpYgyjmuKbTL .activeText0,#mermaid-svg-DjHebpYgyjmuKbTL .activeText1,#mermaid-svg-DjHebpYgyjmuKbTL .activeText2,#mermaid-svg-DjHebpYgyjmuKbTL .activeText3{fill:#000 !important}#mermaid-svg-DjHebpYgyjmuKbTL .done0,#mermaid-svg-DjHebpYgyjmuKbTL .done1,#mermaid-svg-DjHebpYgyjmuKbTL .done2,#mermaid-svg-DjHebpYgyjmuKbTL .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-DjHebpYgyjmuKbTL .doneText0,#mermaid-svg-DjHebpYgyjmuKbTL .doneText1,#mermaid-svg-DjHebpYgyjmuKbTL .doneText2,#mermaid-svg-DjHebpYgyjmuKbTL .doneText3{fill:#000 !important}#mermaid-svg-DjHebpYgyjmuKbTL .crit0,#mermaid-svg-DjHebpYgyjmuKbTL .crit1,#mermaid-svg-DjHebpYgyjmuKbTL .crit2,#mermaid-svg-DjHebpYgyjmuKbTL .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-DjHebpYgyjmuKbTL .activeCrit0,#mermaid-svg-DjHebpYgyjmuKbTL .activeCrit1,#mermaid-svg-DjHebpYgyjmuKbTL .activeCrit2,#mermaid-svg-DjHebpYgyjmuKbTL .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-DjHebpYgyjmuKbTL .doneCrit0,#mermaid-svg-DjHebpYgyjmuKbTL .doneCrit1,#mermaid-svg-DjHebpYgyjmuKbTL .doneCrit2,#mermaid-svg-DjHebpYgyjmuKbTL .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-DjHebpYgyjmuKbTL .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-DjHebpYgyjmuKbTL .milestoneText{font-style:italic}#mermaid-svg-DjHebpYgyjmuKbTL .doneCritText0,#mermaid-svg-DjHebpYgyjmuKbTL .doneCritText1,#mermaid-svg-DjHebpYgyjmuKbTL .doneCritText2,#mermaid-svg-DjHebpYgyjmuKbTL .doneCritText3{fill:#000 !important}#mermaid-svg-DjHebpYgyjmuKbTL .activeCritText0,#mermaid-svg-DjHebpYgyjmuKbTL .activeCritText1,#mermaid-svg-DjHebpYgyjmuKbTL .activeCritText2,#mermaid-svg-DjHebpYgyjmuKbTL .activeCritText3{fill:#000 !important}#mermaid-svg-DjHebpYgyjmuKbTL .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-DjHebpYgyjmuKbTL g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-DjHebpYgyjmuKbTL g.classGroup text .title{font-weight:bolder}#mermaid-svg-DjHebpYgyjmuKbTL g.clickable{cursor:pointer}#mermaid-svg-DjHebpYgyjmuKbTL g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-DjHebpYgyjmuKbTL g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-DjHebpYgyjmuKbTL .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-DjHebpYgyjmuKbTL .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-DjHebpYgyjmuKbTL .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-DjHebpYgyjmuKbTL .dashed-line{stroke-dasharray:3}#mermaid-svg-DjHebpYgyjmuKbTL #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-DjHebpYgyjmuKbTL #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-DjHebpYgyjmuKbTL #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-DjHebpYgyjmuKbTL #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-DjHebpYgyjmuKbTL #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-DjHebpYgyjmuKbTL #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-DjHebpYgyjmuKbTL #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-DjHebpYgyjmuKbTL #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-DjHebpYgyjmuKbTL .commit-id,#mermaid-svg-DjHebpYgyjmuKbTL .commit-msg,#mermaid-svg-DjHebpYgyjmuKbTL .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-DjHebpYgyjmuKbTL .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-DjHebpYgyjmuKbTL .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-DjHebpYgyjmuKbTL g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-DjHebpYgyjmuKbTL g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-DjHebpYgyjmuKbTL g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-DjHebpYgyjmuKbTL g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-DjHebpYgyjmuKbTL g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-DjHebpYgyjmuKbTL g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-DjHebpYgyjmuKbTL .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-DjHebpYgyjmuKbTL .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-DjHebpYgyjmuKbTL .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-DjHebpYgyjmuKbTL .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-DjHebpYgyjmuKbTL .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-DjHebpYgyjmuKbTL .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-DjHebpYgyjmuKbTL .edgeLabel text{fill:#333}#mermaid-svg-DjHebpYgyjmuKbTL .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-DjHebpYgyjmuKbTL .node circle.state-start{fill:black;stroke:black}#mermaid-svg-DjHebpYgyjmuKbTL .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-DjHebpYgyjmuKbTL #statediagram-barbEnd{fill:#9370db}#mermaid-svg-DjHebpYgyjmuKbTL .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-DjHebpYgyjmuKbTL .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-DjHebpYgyjmuKbTL .statediagram-state .divider{stroke:#9370db}#mermaid-svg-DjHebpYgyjmuKbTL .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-DjHebpYgyjmuKbTL .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-DjHebpYgyjmuKbTL .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-DjHebpYgyjmuKbTL .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-DjHebpYgyjmuKbTL .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-DjHebpYgyjmuKbTL .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-DjHebpYgyjmuKbTL .note-edge{stroke-dasharray:5}#mermaid-svg-DjHebpYgyjmuKbTL .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-DjHebpYgyjmuKbTL .error-icon{fill:#522}#mermaid-svg-DjHebpYgyjmuKbTL .error-text{fill:#522;stroke:#522}#mermaid-svg-DjHebpYgyjmuKbTL .edge-thickness-normal{stroke-width:2px}#mermaid-svg-DjHebpYgyjmuKbTL .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-DjHebpYgyjmuKbTL .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-DjHebpYgyjmuKbTL .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-DjHebpYgyjmuKbTL .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-DjHebpYgyjmuKbTL .marker{fill:#333}#mermaid-svg-DjHebpYgyjmuKbTL .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-DjHebpYgyjmuKbTL {color: rgba(0, 0, 0, 0.75);font: ;}

ZMQ_DEALER
*..*
ZMQ_REP
ZMQ_DEALER
1..*
ZMQ_REP
ZMQ_DEALER
1..*
ZMQ_REP
  1. 多个Rep之间是负载均衡模式

Router-Router

#mermaid-svg-FiwBszwDLapRgKjO .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-FiwBszwDLapRgKjO .label text{fill:#333}#mermaid-svg-FiwBszwDLapRgKjO .node rect,#mermaid-svg-FiwBszwDLapRgKjO .node circle,#mermaid-svg-FiwBszwDLapRgKjO .node ellipse,#mermaid-svg-FiwBszwDLapRgKjO .node polygon,#mermaid-svg-FiwBszwDLapRgKjO .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-FiwBszwDLapRgKjO .node .label{text-align:center;fill:#333}#mermaid-svg-FiwBszwDLapRgKjO .node.clickable{cursor:pointer}#mermaid-svg-FiwBszwDLapRgKjO .arrowheadPath{fill:#333}#mermaid-svg-FiwBszwDLapRgKjO .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-FiwBszwDLapRgKjO .flowchart-link{stroke:#333;fill:none}#mermaid-svg-FiwBszwDLapRgKjO .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-FiwBszwDLapRgKjO .edgeLabel rect{opacity:0.9}#mermaid-svg-FiwBszwDLapRgKjO .edgeLabel span{color:#333}#mermaid-svg-FiwBszwDLapRgKjO .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-FiwBszwDLapRgKjO .cluster text{fill:#333}#mermaid-svg-FiwBszwDLapRgKjO div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-FiwBszwDLapRgKjO .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-FiwBszwDLapRgKjO text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-FiwBszwDLapRgKjO .actor-line{stroke:grey}#mermaid-svg-FiwBszwDLapRgKjO .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-FiwBszwDLapRgKjO .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-FiwBszwDLapRgKjO #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-FiwBszwDLapRgKjO .sequenceNumber{fill:#fff}#mermaid-svg-FiwBszwDLapRgKjO #sequencenumber{fill:#333}#mermaid-svg-FiwBszwDLapRgKjO #crosshead path{fill:#333;stroke:#333}#mermaid-svg-FiwBszwDLapRgKjO .messageText{fill:#333;stroke:#333}#mermaid-svg-FiwBszwDLapRgKjO .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-FiwBszwDLapRgKjO .labelText,#mermaid-svg-FiwBszwDLapRgKjO .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-FiwBszwDLapRgKjO .loopText,#mermaid-svg-FiwBszwDLapRgKjO .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-FiwBszwDLapRgKjO .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-FiwBszwDLapRgKjO .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-FiwBszwDLapRgKjO .noteText,#mermaid-svg-FiwBszwDLapRgKjO .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-FiwBszwDLapRgKjO .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-FiwBszwDLapRgKjO .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-FiwBszwDLapRgKjO .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-FiwBszwDLapRgKjO .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-FiwBszwDLapRgKjO .section{stroke:none;opacity:0.2}#mermaid-svg-FiwBszwDLapRgKjO .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-FiwBszwDLapRgKjO .section2{fill:#fff400}#mermaid-svg-FiwBszwDLapRgKjO .section1,#mermaid-svg-FiwBszwDLapRgKjO .section3{fill:#fff;opacity:0.2}#mermaid-svg-FiwBszwDLapRgKjO .sectionTitle0{fill:#333}#mermaid-svg-FiwBszwDLapRgKjO .sectionTitle1{fill:#333}#mermaid-svg-FiwBszwDLapRgKjO .sectionTitle2{fill:#333}#mermaid-svg-FiwBszwDLapRgKjO .sectionTitle3{fill:#333}#mermaid-svg-FiwBszwDLapRgKjO .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-FiwBszwDLapRgKjO .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-FiwBszwDLapRgKjO .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-FiwBszwDLapRgKjO .grid path{stroke-width:0}#mermaid-svg-FiwBszwDLapRgKjO .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-FiwBszwDLapRgKjO .task{stroke-width:2}#mermaid-svg-FiwBszwDLapRgKjO .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-FiwBszwDLapRgKjO .taskText:not([font-size]){font-size:11px}#mermaid-svg-FiwBszwDLapRgKjO .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-FiwBszwDLapRgKjO .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-FiwBszwDLapRgKjO .task.clickable{cursor:pointer}#mermaid-svg-FiwBszwDLapRgKjO .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-FiwBszwDLapRgKjO .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-FiwBszwDLapRgKjO .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-FiwBszwDLapRgKjO .taskText0,#mermaid-svg-FiwBszwDLapRgKjO .taskText1,#mermaid-svg-FiwBszwDLapRgKjO .taskText2,#mermaid-svg-FiwBszwDLapRgKjO .taskText3{fill:#fff}#mermaid-svg-FiwBszwDLapRgKjO .task0,#mermaid-svg-FiwBszwDLapRgKjO .task1,#mermaid-svg-FiwBszwDLapRgKjO .task2,#mermaid-svg-FiwBszwDLapRgKjO .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-FiwBszwDLapRgKjO .taskTextOutside0,#mermaid-svg-FiwBszwDLapRgKjO .taskTextOutside2{fill:#000}#mermaid-svg-FiwBszwDLapRgKjO .taskTextOutside1,#mermaid-svg-FiwBszwDLapRgKjO .taskTextOutside3{fill:#000}#mermaid-svg-FiwBszwDLapRgKjO .active0,#mermaid-svg-FiwBszwDLapRgKjO .active1,#mermaid-svg-FiwBszwDLapRgKjO .active2,#mermaid-svg-FiwBszwDLapRgKjO .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-FiwBszwDLapRgKjO .activeText0,#mermaid-svg-FiwBszwDLapRgKjO .activeText1,#mermaid-svg-FiwBszwDLapRgKjO .activeText2,#mermaid-svg-FiwBszwDLapRgKjO .activeText3{fill:#000 !important}#mermaid-svg-FiwBszwDLapRgKjO .done0,#mermaid-svg-FiwBszwDLapRgKjO .done1,#mermaid-svg-FiwBszwDLapRgKjO .done2,#mermaid-svg-FiwBszwDLapRgKjO .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-FiwBszwDLapRgKjO .doneText0,#mermaid-svg-FiwBszwDLapRgKjO .doneText1,#mermaid-svg-FiwBszwDLapRgKjO .doneText2,#mermaid-svg-FiwBszwDLapRgKjO .doneText3{fill:#000 !important}#mermaid-svg-FiwBszwDLapRgKjO .crit0,#mermaid-svg-FiwBszwDLapRgKjO .crit1,#mermaid-svg-FiwBszwDLapRgKjO .crit2,#mermaid-svg-FiwBszwDLapRgKjO .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-FiwBszwDLapRgKjO .activeCrit0,#mermaid-svg-FiwBszwDLapRgKjO .activeCrit1,#mermaid-svg-FiwBszwDLapRgKjO .activeCrit2,#mermaid-svg-FiwBszwDLapRgKjO .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-FiwBszwDLapRgKjO .doneCrit0,#mermaid-svg-FiwBszwDLapRgKjO .doneCrit1,#mermaid-svg-FiwBszwDLapRgKjO .doneCrit2,#mermaid-svg-FiwBszwDLapRgKjO .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-FiwBszwDLapRgKjO .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-FiwBszwDLapRgKjO .milestoneText{font-style:italic}#mermaid-svg-FiwBszwDLapRgKjO .doneCritText0,#mermaid-svg-FiwBszwDLapRgKjO .doneCritText1,#mermaid-svg-FiwBszwDLapRgKjO .doneCritText2,#mermaid-svg-FiwBszwDLapRgKjO .doneCritText3{fill:#000 !important}#mermaid-svg-FiwBszwDLapRgKjO .activeCritText0,#mermaid-svg-FiwBszwDLapRgKjO .activeCritText1,#mermaid-svg-FiwBszwDLapRgKjO .activeCritText2,#mermaid-svg-FiwBszwDLapRgKjO .activeCritText3{fill:#000 !important}#mermaid-svg-FiwBszwDLapRgKjO .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-FiwBszwDLapRgKjO g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-FiwBszwDLapRgKjO g.classGroup text .title{font-weight:bolder}#mermaid-svg-FiwBszwDLapRgKjO g.clickable{cursor:pointer}#mermaid-svg-FiwBszwDLapRgKjO g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-FiwBszwDLapRgKjO g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-FiwBszwDLapRgKjO .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-FiwBszwDLapRgKjO .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-FiwBszwDLapRgKjO .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-FiwBszwDLapRgKjO .dashed-line{stroke-dasharray:3}#mermaid-svg-FiwBszwDLapRgKjO #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-FiwBszwDLapRgKjO #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-FiwBszwDLapRgKjO #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-FiwBszwDLapRgKjO #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-FiwBszwDLapRgKjO #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-FiwBszwDLapRgKjO #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-FiwBszwDLapRgKjO #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-FiwBszwDLapRgKjO #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-FiwBszwDLapRgKjO .commit-id,#mermaid-svg-FiwBszwDLapRgKjO .commit-msg,#mermaid-svg-FiwBszwDLapRgKjO .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-FiwBszwDLapRgKjO .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-FiwBszwDLapRgKjO .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-FiwBszwDLapRgKjO g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-FiwBszwDLapRgKjO g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-FiwBszwDLapRgKjO g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-FiwBszwDLapRgKjO g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-FiwBszwDLapRgKjO g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-FiwBszwDLapRgKjO g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-FiwBszwDLapRgKjO .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-FiwBszwDLapRgKjO .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-FiwBszwDLapRgKjO .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-FiwBszwDLapRgKjO .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-FiwBszwDLapRgKjO .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-FiwBszwDLapRgKjO .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-FiwBszwDLapRgKjO .edgeLabel text{fill:#333}#mermaid-svg-FiwBszwDLapRgKjO .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-FiwBszwDLapRgKjO .node circle.state-start{fill:black;stroke:black}#mermaid-svg-FiwBszwDLapRgKjO .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-FiwBszwDLapRgKjO #statediagram-barbEnd{fill:#9370db}#mermaid-svg-FiwBszwDLapRgKjO .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-FiwBszwDLapRgKjO .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-FiwBszwDLapRgKjO .statediagram-state .divider{stroke:#9370db}#mermaid-svg-FiwBszwDLapRgKjO .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-FiwBszwDLapRgKjO .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-FiwBszwDLapRgKjO .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-FiwBszwDLapRgKjO .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-FiwBszwDLapRgKjO .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-FiwBszwDLapRgKjO .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-FiwBszwDLapRgKjO .note-edge{stroke-dasharray:5}#mermaid-svg-FiwBszwDLapRgKjO .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-FiwBszwDLapRgKjO .error-icon{fill:#522}#mermaid-svg-FiwBszwDLapRgKjO .error-text{fill:#522;stroke:#522}#mermaid-svg-FiwBszwDLapRgKjO .edge-thickness-normal{stroke-width:2px}#mermaid-svg-FiwBszwDLapRgKjO .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-FiwBszwDLapRgKjO .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-FiwBszwDLapRgKjO .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-FiwBszwDLapRgKjO .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-FiwBszwDLapRgKjO .marker{fill:#333}#mermaid-svg-FiwBszwDLapRgKjO .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-FiwBszwDLapRgKjO {color: rgba(0, 0, 0, 0.75);font: ;}

ZMQ_ROUTER
*..*
ZMQ_ROUTER
ZMQ_ROUTER
1..*
ZMQ_ROUTER
ZMQ_ROUTER
1..*
ZMQ_ROUTER

Dealer-Dealer

#mermaid-svg-qxxuyJvGlrzg6shO .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-qxxuyJvGlrzg6shO .label text{fill:#333}#mermaid-svg-qxxuyJvGlrzg6shO .node rect,#mermaid-svg-qxxuyJvGlrzg6shO .node circle,#mermaid-svg-qxxuyJvGlrzg6shO .node ellipse,#mermaid-svg-qxxuyJvGlrzg6shO .node polygon,#mermaid-svg-qxxuyJvGlrzg6shO .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-qxxuyJvGlrzg6shO .node .label{text-align:center;fill:#333}#mermaid-svg-qxxuyJvGlrzg6shO .node.clickable{cursor:pointer}#mermaid-svg-qxxuyJvGlrzg6shO .arrowheadPath{fill:#333}#mermaid-svg-qxxuyJvGlrzg6shO .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-qxxuyJvGlrzg6shO .flowchart-link{stroke:#333;fill:none}#mermaid-svg-qxxuyJvGlrzg6shO .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-qxxuyJvGlrzg6shO .edgeLabel rect{opacity:0.9}#mermaid-svg-qxxuyJvGlrzg6shO .edgeLabel span{color:#333}#mermaid-svg-qxxuyJvGlrzg6shO .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-qxxuyJvGlrzg6shO .cluster text{fill:#333}#mermaid-svg-qxxuyJvGlrzg6shO div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-qxxuyJvGlrzg6shO .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-qxxuyJvGlrzg6shO text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-qxxuyJvGlrzg6shO .actor-line{stroke:grey}#mermaid-svg-qxxuyJvGlrzg6shO .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-qxxuyJvGlrzg6shO .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-qxxuyJvGlrzg6shO #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-qxxuyJvGlrzg6shO .sequenceNumber{fill:#fff}#mermaid-svg-qxxuyJvGlrzg6shO #sequencenumber{fill:#333}#mermaid-svg-qxxuyJvGlrzg6shO #crosshead path{fill:#333;stroke:#333}#mermaid-svg-qxxuyJvGlrzg6shO .messageText{fill:#333;stroke:#333}#mermaid-svg-qxxuyJvGlrzg6shO .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-qxxuyJvGlrzg6shO .labelText,#mermaid-svg-qxxuyJvGlrzg6shO .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-qxxuyJvGlrzg6shO .loopText,#mermaid-svg-qxxuyJvGlrzg6shO .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-qxxuyJvGlrzg6shO .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-qxxuyJvGlrzg6shO .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-qxxuyJvGlrzg6shO .noteText,#mermaid-svg-qxxuyJvGlrzg6shO .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-qxxuyJvGlrzg6shO .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-qxxuyJvGlrzg6shO .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-qxxuyJvGlrzg6shO .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-qxxuyJvGlrzg6shO .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-qxxuyJvGlrzg6shO .section{stroke:none;opacity:0.2}#mermaid-svg-qxxuyJvGlrzg6shO .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-qxxuyJvGlrzg6shO .section2{fill:#fff400}#mermaid-svg-qxxuyJvGlrzg6shO .section1,#mermaid-svg-qxxuyJvGlrzg6shO .section3{fill:#fff;opacity:0.2}#mermaid-svg-qxxuyJvGlrzg6shO .sectionTitle0{fill:#333}#mermaid-svg-qxxuyJvGlrzg6shO .sectionTitle1{fill:#333}#mermaid-svg-qxxuyJvGlrzg6shO .sectionTitle2{fill:#333}#mermaid-svg-qxxuyJvGlrzg6shO .sectionTitle3{fill:#333}#mermaid-svg-qxxuyJvGlrzg6shO .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-qxxuyJvGlrzg6shO .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-qxxuyJvGlrzg6shO .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-qxxuyJvGlrzg6shO .grid path{stroke-width:0}#mermaid-svg-qxxuyJvGlrzg6shO .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-qxxuyJvGlrzg6shO .task{stroke-width:2}#mermaid-svg-qxxuyJvGlrzg6shO .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-qxxuyJvGlrzg6shO .taskText:not([font-size]){font-size:11px}#mermaid-svg-qxxuyJvGlrzg6shO .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-qxxuyJvGlrzg6shO .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-qxxuyJvGlrzg6shO .task.clickable{cursor:pointer}#mermaid-svg-qxxuyJvGlrzg6shO .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-qxxuyJvGlrzg6shO .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-qxxuyJvGlrzg6shO .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-qxxuyJvGlrzg6shO .taskText0,#mermaid-svg-qxxuyJvGlrzg6shO .taskText1,#mermaid-svg-qxxuyJvGlrzg6shO .taskText2,#mermaid-svg-qxxuyJvGlrzg6shO .taskText3{fill:#fff}#mermaid-svg-qxxuyJvGlrzg6shO .task0,#mermaid-svg-qxxuyJvGlrzg6shO .task1,#mermaid-svg-qxxuyJvGlrzg6shO .task2,#mermaid-svg-qxxuyJvGlrzg6shO .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-qxxuyJvGlrzg6shO .taskTextOutside0,#mermaid-svg-qxxuyJvGlrzg6shO .taskTextOutside2{fill:#000}#mermaid-svg-qxxuyJvGlrzg6shO .taskTextOutside1,#mermaid-svg-qxxuyJvGlrzg6shO .taskTextOutside3{fill:#000}#mermaid-svg-qxxuyJvGlrzg6shO .active0,#mermaid-svg-qxxuyJvGlrzg6shO .active1,#mermaid-svg-qxxuyJvGlrzg6shO .active2,#mermaid-svg-qxxuyJvGlrzg6shO .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-qxxuyJvGlrzg6shO .activeText0,#mermaid-svg-qxxuyJvGlrzg6shO .activeText1,#mermaid-svg-qxxuyJvGlrzg6shO .activeText2,#mermaid-svg-qxxuyJvGlrzg6shO .activeText3{fill:#000 !important}#mermaid-svg-qxxuyJvGlrzg6shO .done0,#mermaid-svg-qxxuyJvGlrzg6shO .done1,#mermaid-svg-qxxuyJvGlrzg6shO .done2,#mermaid-svg-qxxuyJvGlrzg6shO .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-qxxuyJvGlrzg6shO .doneText0,#mermaid-svg-qxxuyJvGlrzg6shO .doneText1,#mermaid-svg-qxxuyJvGlrzg6shO .doneText2,#mermaid-svg-qxxuyJvGlrzg6shO .doneText3{fill:#000 !important}#mermaid-svg-qxxuyJvGlrzg6shO .crit0,#mermaid-svg-qxxuyJvGlrzg6shO .crit1,#mermaid-svg-qxxuyJvGlrzg6shO .crit2,#mermaid-svg-qxxuyJvGlrzg6shO .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-qxxuyJvGlrzg6shO .activeCrit0,#mermaid-svg-qxxuyJvGlrzg6shO .activeCrit1,#mermaid-svg-qxxuyJvGlrzg6shO .activeCrit2,#mermaid-svg-qxxuyJvGlrzg6shO .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-qxxuyJvGlrzg6shO .doneCrit0,#mermaid-svg-qxxuyJvGlrzg6shO .doneCrit1,#mermaid-svg-qxxuyJvGlrzg6shO .doneCrit2,#mermaid-svg-qxxuyJvGlrzg6shO .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-qxxuyJvGlrzg6shO .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-qxxuyJvGlrzg6shO .milestoneText{font-style:italic}#mermaid-svg-qxxuyJvGlrzg6shO .doneCritText0,#mermaid-svg-qxxuyJvGlrzg6shO .doneCritText1,#mermaid-svg-qxxuyJvGlrzg6shO .doneCritText2,#mermaid-svg-qxxuyJvGlrzg6shO .doneCritText3{fill:#000 !important}#mermaid-svg-qxxuyJvGlrzg6shO .activeCritText0,#mermaid-svg-qxxuyJvGlrzg6shO .activeCritText1,#mermaid-svg-qxxuyJvGlrzg6shO .activeCritText2,#mermaid-svg-qxxuyJvGlrzg6shO .activeCritText3{fill:#000 !important}#mermaid-svg-qxxuyJvGlrzg6shO .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-qxxuyJvGlrzg6shO g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-qxxuyJvGlrzg6shO g.classGroup text .title{font-weight:bolder}#mermaid-svg-qxxuyJvGlrzg6shO g.clickable{cursor:pointer}#mermaid-svg-qxxuyJvGlrzg6shO g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-qxxuyJvGlrzg6shO g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-qxxuyJvGlrzg6shO .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-qxxuyJvGlrzg6shO .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-qxxuyJvGlrzg6shO .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-qxxuyJvGlrzg6shO .dashed-line{stroke-dasharray:3}#mermaid-svg-qxxuyJvGlrzg6shO #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-qxxuyJvGlrzg6shO #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-qxxuyJvGlrzg6shO #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-qxxuyJvGlrzg6shO #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-qxxuyJvGlrzg6shO #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-qxxuyJvGlrzg6shO #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-qxxuyJvGlrzg6shO #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-qxxuyJvGlrzg6shO #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-qxxuyJvGlrzg6shO .commit-id,#mermaid-svg-qxxuyJvGlrzg6shO .commit-msg,#mermaid-svg-qxxuyJvGlrzg6shO .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-qxxuyJvGlrzg6shO .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-qxxuyJvGlrzg6shO .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-qxxuyJvGlrzg6shO g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-qxxuyJvGlrzg6shO g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-qxxuyJvGlrzg6shO g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-qxxuyJvGlrzg6shO g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-qxxuyJvGlrzg6shO g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-qxxuyJvGlrzg6shO g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-qxxuyJvGlrzg6shO .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-qxxuyJvGlrzg6shO .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-qxxuyJvGlrzg6shO .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-qxxuyJvGlrzg6shO .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-qxxuyJvGlrzg6shO .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-qxxuyJvGlrzg6shO .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-qxxuyJvGlrzg6shO .edgeLabel text{fill:#333}#mermaid-svg-qxxuyJvGlrzg6shO .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-qxxuyJvGlrzg6shO .node circle.state-start{fill:black;stroke:black}#mermaid-svg-qxxuyJvGlrzg6shO .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-qxxuyJvGlrzg6shO #statediagram-barbEnd{fill:#9370db}#mermaid-svg-qxxuyJvGlrzg6shO .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-qxxuyJvGlrzg6shO .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-qxxuyJvGlrzg6shO .statediagram-state .divider{stroke:#9370db}#mermaid-svg-qxxuyJvGlrzg6shO .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-qxxuyJvGlrzg6shO .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-qxxuyJvGlrzg6shO .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-qxxuyJvGlrzg6shO .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-qxxuyJvGlrzg6shO .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-qxxuyJvGlrzg6shO .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-qxxuyJvGlrzg6shO .note-edge{stroke-dasharray:5}#mermaid-svg-qxxuyJvGlrzg6shO .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-qxxuyJvGlrzg6shO .error-icon{fill:#522}#mermaid-svg-qxxuyJvGlrzg6shO .error-text{fill:#522;stroke:#522}#mermaid-svg-qxxuyJvGlrzg6shO .edge-thickness-normal{stroke-width:2px}#mermaid-svg-qxxuyJvGlrzg6shO .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-qxxuyJvGlrzg6shO .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-qxxuyJvGlrzg6shO .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-qxxuyJvGlrzg6shO .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-qxxuyJvGlrzg6shO .marker{fill:#333}#mermaid-svg-qxxuyJvGlrzg6shO .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-qxxuyJvGlrzg6shO {color: rgba(0, 0, 0, 0.75);font: ;}

ZMQ_DEALER
*..*
ZMQ_DEALER
ZMQ_DEALER
1..*
ZMQ_DEALER
ZMQ_DEALER
1..*
ZMQ_DEALER

Rouer-Rouer-Routers…

#mermaid-svg-L53hSavg4KE6DUQH .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-L53hSavg4KE6DUQH .label text{fill:#333}#mermaid-svg-L53hSavg4KE6DUQH .node rect,#mermaid-svg-L53hSavg4KE6DUQH .node circle,#mermaid-svg-L53hSavg4KE6DUQH .node ellipse,#mermaid-svg-L53hSavg4KE6DUQH .node polygon,#mermaid-svg-L53hSavg4KE6DUQH .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-L53hSavg4KE6DUQH .node .label{text-align:center;fill:#333}#mermaid-svg-L53hSavg4KE6DUQH .node.clickable{cursor:pointer}#mermaid-svg-L53hSavg4KE6DUQH .arrowheadPath{fill:#333}#mermaid-svg-L53hSavg4KE6DUQH .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-L53hSavg4KE6DUQH .flowchart-link{stroke:#333;fill:none}#mermaid-svg-L53hSavg4KE6DUQH .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-L53hSavg4KE6DUQH .edgeLabel rect{opacity:0.9}#mermaid-svg-L53hSavg4KE6DUQH .edgeLabel span{color:#333}#mermaid-svg-L53hSavg4KE6DUQH .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-L53hSavg4KE6DUQH .cluster text{fill:#333}#mermaid-svg-L53hSavg4KE6DUQH div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-L53hSavg4KE6DUQH .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-L53hSavg4KE6DUQH text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-L53hSavg4KE6DUQH .actor-line{stroke:grey}#mermaid-svg-L53hSavg4KE6DUQH .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-L53hSavg4KE6DUQH .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-L53hSavg4KE6DUQH #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-L53hSavg4KE6DUQH .sequenceNumber{fill:#fff}#mermaid-svg-L53hSavg4KE6DUQH #sequencenumber{fill:#333}#mermaid-svg-L53hSavg4KE6DUQH #crosshead path{fill:#333;stroke:#333}#mermaid-svg-L53hSavg4KE6DUQH .messageText{fill:#333;stroke:#333}#mermaid-svg-L53hSavg4KE6DUQH .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-L53hSavg4KE6DUQH .labelText,#mermaid-svg-L53hSavg4KE6DUQH .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-L53hSavg4KE6DUQH .loopText,#mermaid-svg-L53hSavg4KE6DUQH .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-L53hSavg4KE6DUQH .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-L53hSavg4KE6DUQH .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-L53hSavg4KE6DUQH .noteText,#mermaid-svg-L53hSavg4KE6DUQH .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-L53hSavg4KE6DUQH .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-L53hSavg4KE6DUQH .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-L53hSavg4KE6DUQH .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-L53hSavg4KE6DUQH .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-L53hSavg4KE6DUQH .section{stroke:none;opacity:0.2}#mermaid-svg-L53hSavg4KE6DUQH .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-L53hSavg4KE6DUQH .section2{fill:#fff400}#mermaid-svg-L53hSavg4KE6DUQH .section1,#mermaid-svg-L53hSavg4KE6DUQH .section3{fill:#fff;opacity:0.2}#mermaid-svg-L53hSavg4KE6DUQH .sectionTitle0{fill:#333}#mermaid-svg-L53hSavg4KE6DUQH .sectionTitle1{fill:#333}#mermaid-svg-L53hSavg4KE6DUQH .sectionTitle2{fill:#333}#mermaid-svg-L53hSavg4KE6DUQH .sectionTitle3{fill:#333}#mermaid-svg-L53hSavg4KE6DUQH .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-L53hSavg4KE6DUQH .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-L53hSavg4KE6DUQH .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-L53hSavg4KE6DUQH .grid path{stroke-width:0}#mermaid-svg-L53hSavg4KE6DUQH .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-L53hSavg4KE6DUQH .task{stroke-width:2}#mermaid-svg-L53hSavg4KE6DUQH .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-L53hSavg4KE6DUQH .taskText:not([font-size]){font-size:11px}#mermaid-svg-L53hSavg4KE6DUQH .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-L53hSavg4KE6DUQH .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-L53hSavg4KE6DUQH .task.clickable{cursor:pointer}#mermaid-svg-L53hSavg4KE6DUQH .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-L53hSavg4KE6DUQH .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-L53hSavg4KE6DUQH .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-L53hSavg4KE6DUQH .taskText0,#mermaid-svg-L53hSavg4KE6DUQH .taskText1,#mermaid-svg-L53hSavg4KE6DUQH .taskText2,#mermaid-svg-L53hSavg4KE6DUQH .taskText3{fill:#fff}#mermaid-svg-L53hSavg4KE6DUQH .task0,#mermaid-svg-L53hSavg4KE6DUQH .task1,#mermaid-svg-L53hSavg4KE6DUQH .task2,#mermaid-svg-L53hSavg4KE6DUQH .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-L53hSavg4KE6DUQH .taskTextOutside0,#mermaid-svg-L53hSavg4KE6DUQH .taskTextOutside2{fill:#000}#mermaid-svg-L53hSavg4KE6DUQH .taskTextOutside1,#mermaid-svg-L53hSavg4KE6DUQH .taskTextOutside3{fill:#000}#mermaid-svg-L53hSavg4KE6DUQH .active0,#mermaid-svg-L53hSavg4KE6DUQH .active1,#mermaid-svg-L53hSavg4KE6DUQH .active2,#mermaid-svg-L53hSavg4KE6DUQH .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-L53hSavg4KE6DUQH .activeText0,#mermaid-svg-L53hSavg4KE6DUQH .activeText1,#mermaid-svg-L53hSavg4KE6DUQH .activeText2,#mermaid-svg-L53hSavg4KE6DUQH .activeText3{fill:#000 !important}#mermaid-svg-L53hSavg4KE6DUQH .done0,#mermaid-svg-L53hSavg4KE6DUQH .done1,#mermaid-svg-L53hSavg4KE6DUQH .done2,#mermaid-svg-L53hSavg4KE6DUQH .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-L53hSavg4KE6DUQH .doneText0,#mermaid-svg-L53hSavg4KE6DUQH .doneText1,#mermaid-svg-L53hSavg4KE6DUQH .doneText2,#mermaid-svg-L53hSavg4KE6DUQH .doneText3{fill:#000 !important}#mermaid-svg-L53hSavg4KE6DUQH .crit0,#mermaid-svg-L53hSavg4KE6DUQH .crit1,#mermaid-svg-L53hSavg4KE6DUQH .crit2,#mermaid-svg-L53hSavg4KE6DUQH .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-L53hSavg4KE6DUQH .activeCrit0,#mermaid-svg-L53hSavg4KE6DUQH .activeCrit1,#mermaid-svg-L53hSavg4KE6DUQH .activeCrit2,#mermaid-svg-L53hSavg4KE6DUQH .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-L53hSavg4KE6DUQH .doneCrit0,#mermaid-svg-L53hSavg4KE6DUQH .doneCrit1,#mermaid-svg-L53hSavg4KE6DUQH .doneCrit2,#mermaid-svg-L53hSavg4KE6DUQH .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-L53hSavg4KE6DUQH .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-L53hSavg4KE6DUQH .milestoneText{font-style:italic}#mermaid-svg-L53hSavg4KE6DUQH .doneCritText0,#mermaid-svg-L53hSavg4KE6DUQH .doneCritText1,#mermaid-svg-L53hSavg4KE6DUQH .doneCritText2,#mermaid-svg-L53hSavg4KE6DUQH .doneCritText3{fill:#000 !important}#mermaid-svg-L53hSavg4KE6DUQH .activeCritText0,#mermaid-svg-L53hSavg4KE6DUQH .activeCritText1,#mermaid-svg-L53hSavg4KE6DUQH .activeCritText2,#mermaid-svg-L53hSavg4KE6DUQH .activeCritText3{fill:#000 !important}#mermaid-svg-L53hSavg4KE6DUQH .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-L53hSavg4KE6DUQH g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-L53hSavg4KE6DUQH g.classGroup text .title{font-weight:bolder}#mermaid-svg-L53hSavg4KE6DUQH g.clickable{cursor:pointer}#mermaid-svg-L53hSavg4KE6DUQH g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-L53hSavg4KE6DUQH g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-L53hSavg4KE6DUQH .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-L53hSavg4KE6DUQH .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-L53hSavg4KE6DUQH .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-L53hSavg4KE6DUQH .dashed-line{stroke-dasharray:3}#mermaid-svg-L53hSavg4KE6DUQH #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-L53hSavg4KE6DUQH #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-L53hSavg4KE6DUQH #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-L53hSavg4KE6DUQH #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-L53hSavg4KE6DUQH #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-L53hSavg4KE6DUQH #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-L53hSavg4KE6DUQH #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-L53hSavg4KE6DUQH #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-L53hSavg4KE6DUQH .commit-id,#mermaid-svg-L53hSavg4KE6DUQH .commit-msg,#mermaid-svg-L53hSavg4KE6DUQH .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-L53hSavg4KE6DUQH .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-L53hSavg4KE6DUQH .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-L53hSavg4KE6DUQH g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-L53hSavg4KE6DUQH g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-L53hSavg4KE6DUQH g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-L53hSavg4KE6DUQH g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-L53hSavg4KE6DUQH g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-L53hSavg4KE6DUQH g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-L53hSavg4KE6DUQH .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-L53hSavg4KE6DUQH .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-L53hSavg4KE6DUQH .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-L53hSavg4KE6DUQH .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-L53hSavg4KE6DUQH .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-L53hSavg4KE6DUQH .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-L53hSavg4KE6DUQH .edgeLabel text{fill:#333}#mermaid-svg-L53hSavg4KE6DUQH .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-L53hSavg4KE6DUQH .node circle.state-start{fill:black;stroke:black}#mermaid-svg-L53hSavg4KE6DUQH .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-L53hSavg4KE6DUQH #statediagram-barbEnd{fill:#9370db}#mermaid-svg-L53hSavg4KE6DUQH .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-L53hSavg4KE6DUQH .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-L53hSavg4KE6DUQH .statediagram-state .divider{stroke:#9370db}#mermaid-svg-L53hSavg4KE6DUQH .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-L53hSavg4KE6DUQH .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-L53hSavg4KE6DUQH .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-L53hSavg4KE6DUQH .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-L53hSavg4KE6DUQH .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-L53hSavg4KE6DUQH .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-L53hSavg4KE6DUQH .note-edge{stroke-dasharray:5}#mermaid-svg-L53hSavg4KE6DUQH .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-L53hSavg4KE6DUQH .error-icon{fill:#522}#mermaid-svg-L53hSavg4KE6DUQH .error-text{fill:#522;stroke:#522}#mermaid-svg-L53hSavg4KE6DUQH .edge-thickness-normal{stroke-width:2px}#mermaid-svg-L53hSavg4KE6DUQH .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-L53hSavg4KE6DUQH .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-L53hSavg4KE6DUQH .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-L53hSavg4KE6DUQH .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-L53hSavg4KE6DUQH .marker{fill:#333}#mermaid-svg-L53hSavg4KE6DUQH .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-L53hSavg4KE6DUQH {color: rgba(0, 0, 0, 0.75);font: ;}

ZMQ_ROUTER
ZMQ_ROUTER
ZMQ_ROUTER
ZMQ_ROUTER
ZMQ_ROUTER
ZMQ_ROUTER
ZMQ_ROUTER
ZMQ_ROUTER
ZMQ_ROUTER
ZMQ_ROUTER
1..*
1..*
1..*

ZMQ_ROUTER可以无限的级连下去,组成复杂的网络,并进行路由。

Dealer-Dealer-Dealers…

#mermaid-svg-qcocFgwamZGg9T1F .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-qcocFgwamZGg9T1F .label text{fill:#333}#mermaid-svg-qcocFgwamZGg9T1F .node rect,#mermaid-svg-qcocFgwamZGg9T1F .node circle,#mermaid-svg-qcocFgwamZGg9T1F .node ellipse,#mermaid-svg-qcocFgwamZGg9T1F .node polygon,#mermaid-svg-qcocFgwamZGg9T1F .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-qcocFgwamZGg9T1F .node .label{text-align:center;fill:#333}#mermaid-svg-qcocFgwamZGg9T1F .node.clickable{cursor:pointer}#mermaid-svg-qcocFgwamZGg9T1F .arrowheadPath{fill:#333}#mermaid-svg-qcocFgwamZGg9T1F .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-qcocFgwamZGg9T1F .flowchart-link{stroke:#333;fill:none}#mermaid-svg-qcocFgwamZGg9T1F .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-qcocFgwamZGg9T1F .edgeLabel rect{opacity:0.9}#mermaid-svg-qcocFgwamZGg9T1F .edgeLabel span{color:#333}#mermaid-svg-qcocFgwamZGg9T1F .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-qcocFgwamZGg9T1F .cluster text{fill:#333}#mermaid-svg-qcocFgwamZGg9T1F div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-qcocFgwamZGg9T1F .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-qcocFgwamZGg9T1F text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-qcocFgwamZGg9T1F .actor-line{stroke:grey}#mermaid-svg-qcocFgwamZGg9T1F .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-qcocFgwamZGg9T1F .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-qcocFgwamZGg9T1F #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-qcocFgwamZGg9T1F .sequenceNumber{fill:#fff}#mermaid-svg-qcocFgwamZGg9T1F #sequencenumber{fill:#333}#mermaid-svg-qcocFgwamZGg9T1F #crosshead path{fill:#333;stroke:#333}#mermaid-svg-qcocFgwamZGg9T1F .messageText{fill:#333;stroke:#333}#mermaid-svg-qcocFgwamZGg9T1F .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-qcocFgwamZGg9T1F .labelText,#mermaid-svg-qcocFgwamZGg9T1F .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-qcocFgwamZGg9T1F .loopText,#mermaid-svg-qcocFgwamZGg9T1F .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-qcocFgwamZGg9T1F .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-qcocFgwamZGg9T1F .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-qcocFgwamZGg9T1F .noteText,#mermaid-svg-qcocFgwamZGg9T1F .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-qcocFgwamZGg9T1F .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-qcocFgwamZGg9T1F .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-qcocFgwamZGg9T1F .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-qcocFgwamZGg9T1F .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-qcocFgwamZGg9T1F .section{stroke:none;opacity:0.2}#mermaid-svg-qcocFgwamZGg9T1F .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-qcocFgwamZGg9T1F .section2{fill:#fff400}#mermaid-svg-qcocFgwamZGg9T1F .section1,#mermaid-svg-qcocFgwamZGg9T1F .section3{fill:#fff;opacity:0.2}#mermaid-svg-qcocFgwamZGg9T1F .sectionTitle0{fill:#333}#mermaid-svg-qcocFgwamZGg9T1F .sectionTitle1{fill:#333}#mermaid-svg-qcocFgwamZGg9T1F .sectionTitle2{fill:#333}#mermaid-svg-qcocFgwamZGg9T1F .sectionTitle3{fill:#333}#mermaid-svg-qcocFgwamZGg9T1F .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-qcocFgwamZGg9T1F .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-qcocFgwamZGg9T1F .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-qcocFgwamZGg9T1F .grid path{stroke-width:0}#mermaid-svg-qcocFgwamZGg9T1F .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-qcocFgwamZGg9T1F .task{stroke-width:2}#mermaid-svg-qcocFgwamZGg9T1F .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-qcocFgwamZGg9T1F .taskText:not([font-size]){font-size:11px}#mermaid-svg-qcocFgwamZGg9T1F .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-qcocFgwamZGg9T1F .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-qcocFgwamZGg9T1F .task.clickable{cursor:pointer}#mermaid-svg-qcocFgwamZGg9T1F .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-qcocFgwamZGg9T1F .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-qcocFgwamZGg9T1F .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-qcocFgwamZGg9T1F .taskText0,#mermaid-svg-qcocFgwamZGg9T1F .taskText1,#mermaid-svg-qcocFgwamZGg9T1F .taskText2,#mermaid-svg-qcocFgwamZGg9T1F .taskText3{fill:#fff}#mermaid-svg-qcocFgwamZGg9T1F .task0,#mermaid-svg-qcocFgwamZGg9T1F .task1,#mermaid-svg-qcocFgwamZGg9T1F .task2,#mermaid-svg-qcocFgwamZGg9T1F .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-qcocFgwamZGg9T1F .taskTextOutside0,#mermaid-svg-qcocFgwamZGg9T1F .taskTextOutside2{fill:#000}#mermaid-svg-qcocFgwamZGg9T1F .taskTextOutside1,#mermaid-svg-qcocFgwamZGg9T1F .taskTextOutside3{fill:#000}#mermaid-svg-qcocFgwamZGg9T1F .active0,#mermaid-svg-qcocFgwamZGg9T1F .active1,#mermaid-svg-qcocFgwamZGg9T1F .active2,#mermaid-svg-qcocFgwamZGg9T1F .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-qcocFgwamZGg9T1F .activeText0,#mermaid-svg-qcocFgwamZGg9T1F .activeText1,#mermaid-svg-qcocFgwamZGg9T1F .activeText2,#mermaid-svg-qcocFgwamZGg9T1F .activeText3{fill:#000 !important}#mermaid-svg-qcocFgwamZGg9T1F .done0,#mermaid-svg-qcocFgwamZGg9T1F .done1,#mermaid-svg-qcocFgwamZGg9T1F .done2,#mermaid-svg-qcocFgwamZGg9T1F .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-qcocFgwamZGg9T1F .doneText0,#mermaid-svg-qcocFgwamZGg9T1F .doneText1,#mermaid-svg-qcocFgwamZGg9T1F .doneText2,#mermaid-svg-qcocFgwamZGg9T1F .doneText3{fill:#000 !important}#mermaid-svg-qcocFgwamZGg9T1F .crit0,#mermaid-svg-qcocFgwamZGg9T1F .crit1,#mermaid-svg-qcocFgwamZGg9T1F .crit2,#mermaid-svg-qcocFgwamZGg9T1F .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-qcocFgwamZGg9T1F .activeCrit0,#mermaid-svg-qcocFgwamZGg9T1F .activeCrit1,#mermaid-svg-qcocFgwamZGg9T1F .activeCrit2,#mermaid-svg-qcocFgwamZGg9T1F .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-qcocFgwamZGg9T1F .doneCrit0,#mermaid-svg-qcocFgwamZGg9T1F .doneCrit1,#mermaid-svg-qcocFgwamZGg9T1F .doneCrit2,#mermaid-svg-qcocFgwamZGg9T1F .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-qcocFgwamZGg9T1F .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-qcocFgwamZGg9T1F .milestoneText{font-style:italic}#mermaid-svg-qcocFgwamZGg9T1F .doneCritText0,#mermaid-svg-qcocFgwamZGg9T1F .doneCritText1,#mermaid-svg-qcocFgwamZGg9T1F .doneCritText2,#mermaid-svg-qcocFgwamZGg9T1F .doneCritText3{fill:#000 !important}#mermaid-svg-qcocFgwamZGg9T1F .activeCritText0,#mermaid-svg-qcocFgwamZGg9T1F .activeCritText1,#mermaid-svg-qcocFgwamZGg9T1F .activeCritText2,#mermaid-svg-qcocFgwamZGg9T1F .activeCritText3{fill:#000 !important}#mermaid-svg-qcocFgwamZGg9T1F .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-qcocFgwamZGg9T1F g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-qcocFgwamZGg9T1F g.classGroup text .title{font-weight:bolder}#mermaid-svg-qcocFgwamZGg9T1F g.clickable{cursor:pointer}#mermaid-svg-qcocFgwamZGg9T1F g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-qcocFgwamZGg9T1F g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-qcocFgwamZGg9T1F .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-qcocFgwamZGg9T1F .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-qcocFgwamZGg9T1F .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-qcocFgwamZGg9T1F .dashed-line{stroke-dasharray:3}#mermaid-svg-qcocFgwamZGg9T1F #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-qcocFgwamZGg9T1F #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-qcocFgwamZGg9T1F #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-qcocFgwamZGg9T1F #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-qcocFgwamZGg9T1F #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-qcocFgwamZGg9T1F #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-qcocFgwamZGg9T1F #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-qcocFgwamZGg9T1F #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-qcocFgwamZGg9T1F .commit-id,#mermaid-svg-qcocFgwamZGg9T1F .commit-msg,#mermaid-svg-qcocFgwamZGg9T1F .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-qcocFgwamZGg9T1F .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-qcocFgwamZGg9T1F .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-qcocFgwamZGg9T1F g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-qcocFgwamZGg9T1F g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-qcocFgwamZGg9T1F g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-qcocFgwamZGg9T1F g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-qcocFgwamZGg9T1F g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-qcocFgwamZGg9T1F g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-qcocFgwamZGg9T1F .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-qcocFgwamZGg9T1F .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-qcocFgwamZGg9T1F .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-qcocFgwamZGg9T1F .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-qcocFgwamZGg9T1F .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-qcocFgwamZGg9T1F .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-qcocFgwamZGg9T1F .edgeLabel text{fill:#333}#mermaid-svg-qcocFgwamZGg9T1F .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-qcocFgwamZGg9T1F .node circle.state-start{fill:black;stroke:black}#mermaid-svg-qcocFgwamZGg9T1F .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-qcocFgwamZGg9T1F #statediagram-barbEnd{fill:#9370db}#mermaid-svg-qcocFgwamZGg9T1F .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-qcocFgwamZGg9T1F .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-qcocFgwamZGg9T1F .statediagram-state .divider{stroke:#9370db}#mermaid-svg-qcocFgwamZGg9T1F .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-qcocFgwamZGg9T1F .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-qcocFgwamZGg9T1F .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-qcocFgwamZGg9T1F .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-qcocFgwamZGg9T1F .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-qcocFgwamZGg9T1F .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-qcocFgwamZGg9T1F .note-edge{stroke-dasharray:5}#mermaid-svg-qcocFgwamZGg9T1F .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-qcocFgwamZGg9T1F .error-icon{fill:#522}#mermaid-svg-qcocFgwamZGg9T1F .error-text{fill:#522;stroke:#522}#mermaid-svg-qcocFgwamZGg9T1F .edge-thickness-normal{stroke-width:2px}#mermaid-svg-qcocFgwamZGg9T1F .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-qcocFgwamZGg9T1F .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-qcocFgwamZGg9T1F .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-qcocFgwamZGg9T1F .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-qcocFgwamZGg9T1F .marker{fill:#333}#mermaid-svg-qcocFgwamZGg9T1F .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-qcocFgwamZGg9T1F {color: rgba(0, 0, 0, 0.75);font: ;}

ZMQ_DEALER
ZMQ_DEALER
ZMQ_DEALER
ZMQ_DEALER
ZMQ_DEALER
ZMQ_DEALER
ZMQ_DEALER
ZMQ_DEALER
ZMQ_DEALER
ZMQ_DEALER
1..*
1..*
1..*

ZeroMQ知识总结大全(二):Req-Rep模式详解相关推荐

  1. (二十二)访问者模式详解(伪动态双分派) - 转

    作者:zuoxiaolong8810(左潇龙),转载请注明出处. 本次LZ和各位分享一下访问者模式,从场景.设计初衷以及实现方面来说,访问者模式算是LZ即将写到的24种设计模式当中,最复杂也是最难理解 ...

  2. (十二)命令模式详解(故事版)- 转

    作者:zuoxiaolong8810(左潇龙),转载请注明出处. 背景:小左是魔都某公司技术部的一名屌丝程序猿,每天的工作就是维护一个20世纪的古董级项目,由于公司不大,所以公司很多制度不太完善,导致 ...

  3. (二)代理模式详解(包含原理详解)

    作者:zuoxiaolong8810(左潇龙),转载请注明出处. 我特意将本系列改了下名字,原名是<设计模式学习之路>,原因是因为之前写过一篇<spring源码学习之路>,但是 ...

  4. (十二)命令模式详解(故事版)

    作者:zuoxiaolong8810(左潇龙),转载请注明出处. 背景:小左是魔都某公司技术部的一名屌丝程序猿,每天的工作就是维护一个20世纪的古董级项目,由于公司不大,所以公司很多制度不太完善,导致 ...

  5. (十二)命令模式详解(故事版) .

    2019独角兽企业重金招聘Python工程师标准>>> 背景:小左是魔都某公司技术部的一名屌丝程序猿,每天的工作就是维护一个20世纪的古董级项目,由于公司不大,所以公司很多制度不太完 ...

  6. getinstance方法详解_二、设计模式总览及工厂模式详解

    二.架构师内功心法之设计模式 2.架构师内功心法之设计模式 2.1.课程目标 1.通过对本章内容的学习,了解设计模式的由来. 2.介绍设计模式能帮我们解决哪些问题. 3.剖析工厂模式的历史由来及应用场 ...

  7. Solr系列二:solr-部署详解(solr两种部署模式介绍、独立服务器模式详解、SolrCloud分布式集群模式详解)...

    一.solr两种部署模式介绍 Standalone Server 独立服务器模式:适用于数据规模不大的场景 SolrCloud  分布式集群模式:适用于数据规模大,高可靠.高可用.高并发的场景 二.独 ...

  8. 纹理基础知识和过滤模式详解

    转载自 纹理基础知识和过滤模式详解 1. 为什么在纹理采样时候需要 texture filter (纹理过滤) 我们的纹理 要贴到三维图形表面,而三维图形上的pixel中心与纹理上的texel中心并不 ...

  9. (二十一)状态模式详解(DOTA版) - 转

    作者:zuoxiaolong8810(左潇龙),转载请注明出处. 本次LZ给各位介绍状态模式,之前在写设计模式的时候,引入了一些小故事,二十章职责连模式是故事版的最后一篇,之后还剩余四个设计模式,LZ ...

  10. 运动控制器PSO位置同步输出(二):PSO模式详解

    本节我们主要去讲解一下多种PSO模式原理和使用的讲解,用户可根据实际需求灵活选择触发模式. 一.硬件说明 硬件选型的首要要求是支持PSO功能,再分析PSO的应用场合和轴数等选择具体的型号.本例以ZMC ...

最新文章

  1. 帆软所有销量为0的显示为空值_市场上最流行的9款跨境电商亚马逊销量预估工具精准度报告详解!...
  2. nginx strip模块优化页面
  3. Android中的ListView实现图片文字和按钮
  4. 卓京计算机学校,卓京--计算机数据原理课程设计任务书.doc
  5. android搜索框功能实现_Android实现滑动解锁功能
  6. C语言中.h文件和.c文件如何理解?看完详细解析,小白也能懂!
  7. 虚拟语气和推测(三)
  8. iPhone的Socket编程使用开源代码之AsyncSocket
  9. xtrabackup mysql 5.1_mysql 5.1 选哪个 xtrabackup
  10. C语言-字符数组和字符串
  11. ASCll码字符对照表
  12. SpringBoot2.x整合Redis数据库
  13. PPT文件太大了怎么压缩
  14. 香港流行乐黄金二十年——经典歌手(音乐人)全面回顾(四)
  15. 【经典箴言 || 人生感悟 】
  16. C++实现大数运算(加减乘除求余)
  17. 【每日蓝桥】5、一三年省赛Java组真题“有理数类”
  18. 做shopify收款方式有哪些
  19. 如何用pycharm将.ui文件转换为.py文件(内含出错解决方法)
  20. 火车头9.2 内容分页采集

热门文章

  1. 微信公众号里面服务器配置关闭,微信公众号服务器配置无法修改
  2. 【项目实训】微信公众号获取用户openid
  3. javascript中this用法
  4. JavaScript中this的使用(四种情况下this的指向)
  5. 2018tfe世界计算机专业排名,2018年TFE TIMES美国研究生计算机科学专业排名
  6. R语言smoothHR包_“统计学诺贝尔奖”授予R语言软件工程师
  7. 用python画满天星_Python用27行代码绘制一幅满天星
  8. [汇编语言]立即数寻址和寄存器寻址
  9. MySql存储含有特殊符号的微信昵称
  10. nodejs爬虫获取漫威超级英雄电影海报