4 lines
39 KiB
XML
4 lines
39 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!-- Do not edit this file with editors other than draw.io -->
|
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
<svg xmlns="http://www.w3.org/2000/svg" style="background: transparent; background-color: transparent; color-scheme: light dark;" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="842px" height="572px" viewBox="-0.5 -0.5 842 572" content="<mxfile host="Electron" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/28.1.2 Chrome/138.0.7204.243 Electron/37.4.0 Safari/537.36" version="28.1.2" scale="1" border="0"> <diagram name="Страница — 1" id="FHKpafrjKkJkzZQU2sBS"> <mxGraphModel dx="1235" dy="694" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0"> <root> <mxCell id="0" /> <mxCell id="1" parent="0" /> <mxCell id="tSqiZl5FNUn8lHeOsgIg-36" value="Внешний клиент (Client)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontSize=14;" vertex="1" parent="1"> <mxGeometry x="640" y="30" width="200" height="60" as="geometry" /> </mxCell> <mxCell id="tSqiZl5FNUn8lHeOsgIg-40" value="Учебный кластер ClickHouse (Docker Compose)" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" vertex="1" parent="1"> <mxGeometry x="40" y="45" width="520" height="30" as="geometry" /> </mxCell> <mxCell id="tSqiZl5FNUn8lHeOsgIg-41" value="" style="group" vertex="1" connectable="0" parent="1"> <mxGeometry x="40" y="121" width="840" height="480" as="geometry" /> </mxCell> <mxCell id="tSqiZl5FNUn8lHeOsgIg-34" value="Хост-машина - Docker network" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f5f5f5;arcSize=5;strokeColor=#666666;fontColor=#333333;align=left;verticalAlign=top;spacingLeft=12;spacingTop=6;fontSize=13;container=0;dashed=1;dashPattern=8 8;" vertex="1" parent="tSqiZl5FNUn8lHeOsgIg-41"> <mxGeometry width="840" height="480" as="geometry" /> </mxCell> <mxCell id="tSqiZl5FNUn8lHeOsgIg-22" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fillColor=#0050ef;strokeColor=#001DBC;strokeWidth=1.5;" edge="1" parent="tSqiZl5FNUn8lHeOsgIg-41" source="tSqiZl5FNUn8lHeOsgIg-15" target="tSqiZl5FNUn8lHeOsgIg-5"> <mxGeometry relative="1" as="geometry"> <mxPoint x="320" y="188" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="tSqiZl5FNUn8lHeOsgIg-23" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#0050ef;strokeColor=#001DBC;strokeWidth=1.5;" edge="1" parent="tSqiZl5FNUn8lHeOsgIg-41" source="tSqiZl5FNUn8lHeOsgIg-15" target="tSqiZl5FNUn8lHeOsgIg-1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="450" y="168" as="sourcePoint" /> <mxPoint x="370" y="246" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="tSqiZl5FNUn8lHeOsgIg-24" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#0050ef;strokeColor=#001DBC;strokeWidth=1.5;" edge="1" parent="tSqiZl5FNUn8lHeOsgIg-41" source="tSqiZl5FNUn8lHeOsgIg-15" target="tSqiZl5FNUn8lHeOsgIg-8"> <mxGeometry relative="1" as="geometry"> <mxPoint x="400" y="168" as="sourcePoint" /> <mxPoint x="320" y="246" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="tSqiZl5FNUn8lHeOsgIg-25" value="Балансировка подключений пользователей" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#0050ef;strokeColor=#001DBC;strokeWidth=1.5;" edge="1" parent="tSqiZl5FNUn8lHeOsgIg-41" source="tSqiZl5FNUn8lHeOsgIg-15" target="tSqiZl5FNUn8lHeOsgIg-11"> <mxGeometry x="-0.201" y="9" relative="1" as="geometry"> <mxPoint x="430" y="148" as="sourcePoint" /> <mxPoint x="550" y="226" as="targetPoint" /> <mxPoint as="offset" /> </mxGeometry> </mxCell> <mxCell id="tSqiZl5FNUn8lHeOsgIg-27" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;endArrow=classic;endFill=1;dashed=1;startArrow=classic;startFill=1;" edge="1" parent="tSqiZl5FNUn8lHeOsgIg-41" source="tSqiZl5FNUn8lHeOsgIg-19"> <mxGeometry relative="1" as="geometry"> <mxPoint x="410" y="208" as="sourcePoint" /> <mxPoint x="120" y="278" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="tSqiZl5FNUn8lHeOsgIg-28" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;endArrow=classic;endFill=1;dashed=1;startArrow=classic;startFill=1;" edge="1" parent="tSqiZl5FNUn8lHeOsgIg-41" source="tSqiZl5FNUn8lHeOsgIg-19"> <mxGeometry relative="1" as="geometry"> <mxPoint x="660" y="388" as="sourcePoint" /> <mxPoint x="320" y="278" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="tSqiZl5FNUn8lHeOsgIg-29" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;endArrow=classic;endFill=1;dashed=1;startArrow=classic;startFill=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="tSqiZl5FNUn8lHeOsgIg-41" source="tSqiZl5FNUn8lHeOsgIg-19" target="tSqiZl5FNUn8lHeOsgIg-8"> <mxGeometry relative="1" as="geometry"> <mxPoint x="490" y="388" as="sourcePoint" /> <mxPoint x="520" y="288" as="targetPoint" /> <Array as="points"> <mxPoint x="400" y="318" /> <mxPoint x="520" y="318" /> </Array> </mxGeometry> </mxCell> <mxCell id="tSqiZl5FNUn8lHeOsgIg-33" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;endArrow=classic;endFill=1;dashed=1;startArrow=classic;startFill=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="tSqiZl5FNUn8lHeOsgIg-41" source="tSqiZl5FNUn8lHeOsgIg-19" target="tSqiZl5FNUn8lHeOsgIg-11"> <mxGeometry relative="1" as="geometry"> <mxPoint x="450" y="400" as="sourcePoint" /> <mxPoint x="570" y="318" as="targetPoint" /> <Array as="points"> <mxPoint x="400" y="318" /> <mxPoint x="720" y="318" /> </Array> </mxGeometry> </mxCell> <mxCell id="tSqiZl5FNUn8lHeOsgIg-1" value="click1 - ClickHouse" style="rounded=1;whiteSpace=wrap;html=1;fontSize=14;align=left;verticalAlign=top;spacingTop=0;spacingLeft=6;container=0;" vertex="1" parent="tSqiZl5FNUn8lHeOsgIg-41"> <mxGeometry x="40" y="196" width="160" height="80" as="geometry" /> </mxCell> <mxCell id="tSqiZl5FNUn8lHeOsgIg-2" value="macros: &lt;br&gt;shard-01, replica=01" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=11;spacingLeft=6;fontFamily=Courier New;container=0;" vertex="1" parent="tSqiZl5FNUn8lHeOsgIg-41"> <mxGeometry x="40" y="220" width="160" height="30" as="geometry" /> </mxCell> <mxCell id="tSqiZl5FNUn8lHeOsgIg-5" value="click2 - ClickHouse" style="rounded=1;whiteSpace=wrap;html=1;fontSize=14;align=left;verticalAlign=top;spacingTop=0;spacingLeft=6;container=0;" vertex="1" parent="tSqiZl5FNUn8lHeOsgIg-41"> <mxGeometry x="240" y="196" width="160" height="80" as="geometry" /> </mxCell> <mxCell id="tSqiZl5FNUn8lHeOsgIg-6" value="macros: &lt;br&gt;shard-01, replica=02" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=11;spacingLeft=6;fontFamily=Courier New;container=0;" vertex="1" parent="tSqiZl5FNUn8lHeOsgIg-41"> <mxGeometry x="240" y="220" width="160" height="30" as="geometry" /> </mxCell> <mxCell id="tSqiZl5FNUn8lHeOsgIg-8" value="click3 - ClickHouse" style="rounded=1;whiteSpace=wrap;html=1;fontSize=14;align=left;verticalAlign=top;spacingTop=0;spacingLeft=6;container=0;" vertex="1" parent="tSqiZl5FNUn8lHeOsgIg-41"> <mxGeometry x="440" y="196" width="160" height="80" as="geometry" /> </mxCell> <mxCell id="tSqiZl5FNUn8lHeOsgIg-9" value="macros: &lt;br&gt;shard-02, replica=01" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=11;spacingLeft=6;fontFamily=Courier New;container=0;" vertex="1" parent="tSqiZl5FNUn8lHeOsgIg-41"> <mxGeometry x="440" y="220" width="160" height="30" as="geometry" /> </mxCell> <mxCell id="tSqiZl5FNUn8lHeOsgIg-11" value="click4 - ClickHouse" style="rounded=1;whiteSpace=wrap;html=1;fontSize=14;align=left;verticalAlign=top;spacingTop=0;spacingLeft=6;container=0;" vertex="1" parent="tSqiZl5FNUn8lHeOsgIg-41"> <mxGeometry x="640" y="196" width="160" height="80" as="geometry" /> </mxCell> <mxCell id="tSqiZl5FNUn8lHeOsgIg-12" value="macros: &lt;br&gt;shard-02, replica=02" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=11;spacingLeft=6;fontFamily=Courier New;container=0;" vertex="1" parent="tSqiZl5FNUn8lHeOsgIg-41"> <mxGeometry x="640" y="220" width="160" height="30" as="geometry" /> </mxCell> <mxCell id="tSqiZl5FNUn8lHeOsgIg-15" value="HAProxy" style="rounded=1;whiteSpace=wrap;html=1;fontSize=14;align=left;verticalAlign=top;spacingTop=0;spacingLeft=6;container=0;" vertex="1" parent="tSqiZl5FNUn8lHeOsgIg-41"> <mxGeometry x="320" y="38" width="160" height="80" as="geometry" /> </mxCell> <mxCell id="tSqiZl5FNUn8lHeOsgIg-16" value="&lt;font face=&quot;Courier New&quot;&gt;Балансировка&lt;br&gt;подключений&lt;/font&gt;" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=11;spacingLeft=6;fontFamily=Helvetica;container=0;" vertex="1" parent="tSqiZl5FNUn8lHeOsgIg-41"> <mxGeometry x="320" y="62" width="160" height="30" as="geometry" /> </mxCell> <mxCell id="tSqiZl5FNUn8lHeOsgIg-19" value="ZooKeeper" style="rounded=1;whiteSpace=wrap;html=1;fontSize=14;align=left;verticalAlign=top;spacingTop=0;spacingLeft=6;container=0;" vertex="1" parent="tSqiZl5FNUn8lHeOsgIg-41"> <mxGeometry x="320" y="358" width="160" height="80" as="geometry" /> </mxCell> <mxCell id="tSqiZl5FNUn8lHeOsgIg-20" value="&lt;font face=&quot;Courier New&quot;&gt;Координация кластера&lt;/font&gt;" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=11;spacingLeft=6;fontFamily=Helvetica;container=0;" vertex="1" parent="tSqiZl5FNUn8lHeOsgIg-41"> <mxGeometry x="320" y="382" width="160" height="30" as="geometry" /> </mxCell> <mxCell id="tSqiZl5FNUn8lHeOsgIg-38" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;fillColor=#0050ef;strokeColor=#001DBC;strokeWidth=1.5;" edge="1" parent="1" source="tSqiZl5FNUn8lHeOsgIg-36" target="tSqiZl5FNUn8lHeOsgIg-16"> <mxGeometry relative="1" as="geometry" /> </mxCell> </root> </mxGraphModel> </diagram> </mxfile> "><defs/><g><g data-cell-id="0"><g data-cell-id="1"><g data-cell-id="tSqiZl5FNUn8lHeOsgIg-36"><g><rect x="600" y="0" width="200" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all" style="fill: rgb(218, 232, 252); stroke: rgb(108, 142, 191);"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 30px; margin-left: 601px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 14px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Внешний клиент (Client)</div></div></div></foreignObject><text x="700" y="34" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="14px" text-anchor="middle">Внешний клиент (Client)</text></switch></g></g></g><g data-cell-id="tSqiZl5FNUn8lHeOsgIg-40"><g><rect x="0" y="15" width="520" height="30" fill="none" stroke="none" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 518px; height: 1px; padding-top: 30px; margin-left: 2px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #000000; "><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Учебный кластер ClickHouse (Docker Compose)</div></div></div></foreignObject><text x="2" y="35" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="16px">Учебный кластер ClickHouse (Docker Compose)</text></switch></g></g></g><g data-cell-id="tSqiZl5FNUn8lHeOsgIg-41"><g/><g data-cell-id="tSqiZl5FNUn8lHeOsgIg-34"><g><rect x="0" y="91" width="840" height="480" rx="24" ry="24" fill="#f5f5f5" stroke="#666666" stroke-dasharray="8 8" pointer-events="all" style="fill: rgb(245, 245, 245); stroke: rgb(102, 102, 102);"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 826px; height: 1px; padding-top: 104px; margin-left: 14px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #333333; "><div style="display: inline-block; font-size: 13px; font-family: Helvetica; color: #333333; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Хост-машина - Docker network</div></div></div></foreignObject><text x="14" y="117" fill="#333333" font-family="Helvetica" font-size="13px">Хост-машина - Docker network</text></switch></g></g></g><g data-cell-id="tSqiZl5FNUn8lHeOsgIg-22"><g><path d="M 400 209 L 400 248 L 320 248 L 320 279.7" fill="none" stroke="#001dbc" stroke-width="1.5" stroke-miterlimit="10" pointer-events="stroke" style="stroke: rgb(0, 29, 188);"/><path d="M 320 285.32 L 316.25 277.82 L 320 279.7 L 323.75 277.82 Z" fill="#001dbc" stroke="#001dbc" stroke-width="1.5" stroke-miterlimit="10" pointer-events="all" style="fill: rgb(0, 29, 188); stroke: rgb(0, 29, 188);"/></g></g><g data-cell-id="tSqiZl5FNUn8lHeOsgIg-23"><g><path d="M 400 209 L 400 248 L 120 248 L 120 279.7" fill="none" stroke="#001dbc" stroke-width="1.5" stroke-miterlimit="10" pointer-events="stroke" style="stroke: rgb(0, 29, 188);"/><path d="M 120 285.32 L 116.25 277.82 L 120 279.7 L 123.75 277.82 Z" fill="#001dbc" stroke="#001dbc" stroke-width="1.5" stroke-miterlimit="10" pointer-events="all" style="fill: rgb(0, 29, 188); stroke: rgb(0, 29, 188);"/></g></g><g data-cell-id="tSqiZl5FNUn8lHeOsgIg-24"><g><path d="M 400 209 L 400 248 L 520 248 L 520 279.7" fill="none" stroke="#001dbc" stroke-width="1.5" stroke-miterlimit="10" pointer-events="stroke" style="stroke: rgb(0, 29, 188);"/><path d="M 520 285.32 L 516.25 277.82 L 520 279.7 L 523.75 277.82 Z" fill="#001dbc" stroke="#001dbc" stroke-width="1.5" stroke-miterlimit="10" pointer-events="all" style="fill: rgb(0, 29, 188); stroke: rgb(0, 29, 188);"/></g></g><g data-cell-id="tSqiZl5FNUn8lHeOsgIg-25"><g><path d="M 400 209 L 400 248 L 720 248 L 720 279.7" fill="none" stroke="#001dbc" stroke-width="1.5" stroke-miterlimit="10" pointer-events="stroke" style="stroke: rgb(0, 29, 188);"/><path d="M 720 285.32 L 716.25 277.82 L 720 279.7 L 723.75 277.82 Z" fill="#001dbc" stroke="#001dbc" stroke-width="1.5" stroke-miterlimit="10" pointer-events="all" style="fill: rgb(0, 29, 188); stroke: rgb(0, 29, 188);"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 239px; margin-left: 520px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">Балансировка подключений пользователей</div></div></div></foreignObject><text x="520" y="242" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="11px" text-anchor="middle">Балансировка подключений пользователей</text></switch></g></g></g><g data-cell-id="tSqiZl5FNUn8lHeOsgIg-27"><g><path d="M 400 442.63 L 400 409.5 L 120.5 409.5 L 120.08 375.37" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 400 447.88 L 396.5 440.88 L 400 442.63 L 403.5 440.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 120.01 370.12 L 123.6 377.07 L 120.08 375.37 L 116.6 377.16 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g></g><g data-cell-id="tSqiZl5FNUn8lHeOsgIg-28"><g><path d="M 400 442.63 L 400 409.5 L 320.5 409.5 L 320.08 375.37" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 400 447.88 L 396.5 440.88 L 400 442.63 L 403.5 440.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 320.01 370.12 L 323.6 377.07 L 320.08 375.37 L 316.6 377.16 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g></g><g data-cell-id="tSqiZl5FNUn8lHeOsgIg-29"><g><path d="M 400 442.63 L 400 409 L 520 409 L 520 373.37" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 400 447.88 L 396.5 440.88 L 400 442.63 L 403.5 440.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 520 368.12 L 523.5 375.12 L 520 373.37 L 516.5 375.12 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g></g><g data-cell-id="tSqiZl5FNUn8lHeOsgIg-33"><g><path d="M 400 442.63 L 400 409 L 720 409 L 720 373.37" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 400 447.88 L 396.5 440.88 L 400 442.63 L 403.5 440.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 720 368.12 L 723.5 375.12 L 720 373.37 L 716.5 375.12 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g></g><g data-cell-id="tSqiZl5FNUn8lHeOsgIg-1"><g><rect x="40" y="287" width="160" height="80" rx="12" ry="12" fill="#ffffff" stroke="#000000" pointer-events="all" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 152px; height: 1px; padding-top: 294px; margin-left: 48px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #000000; "><div style="display: inline-block; font-size: 14px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">click1 - ClickHouse</div></div></div></foreignObject><text x="48" y="308" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="14px">click1 - ClickHouse</text></switch></g></g></g><g data-cell-id="tSqiZl5FNUn8lHeOsgIg-2"><g><rect x="40" y="311" width="160" height="30" fill="none" stroke="none" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 152px; height: 1px; padding-top: 326px; margin-left: 48px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #000000; "><div style="display: inline-block; font-size: 11px; font-family: "Courier New"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">macros: <br />shard-01, replica=01</div></div></div></foreignObject><text x="48" y="329" fill="light-dark(#000000, #ffffff)" font-family=""Courier New"" font-size="11px">macros:...</text></switch></g></g></g><g data-cell-id="tSqiZl5FNUn8lHeOsgIg-5"><g><rect x="240" y="287" width="160" height="80" rx="12" ry="12" fill="#ffffff" stroke="#000000" pointer-events="all" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 152px; height: 1px; padding-top: 294px; margin-left: 248px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #000000; "><div style="display: inline-block; font-size: 14px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">click2 - ClickHouse</div></div></div></foreignObject><text x="248" y="308" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="14px">click2 - ClickHouse</text></switch></g></g></g><g data-cell-id="tSqiZl5FNUn8lHeOsgIg-6"><g><rect x="240" y="311" width="160" height="30" fill="none" stroke="none" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 152px; height: 1px; padding-top: 326px; margin-left: 248px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #000000; "><div style="display: inline-block; font-size: 11px; font-family: "Courier New"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">macros: <br />shard-01, replica=02</div></div></div></foreignObject><text x="248" y="329" fill="light-dark(#000000, #ffffff)" font-family=""Courier New"" font-size="11px">macros:...</text></switch></g></g></g><g data-cell-id="tSqiZl5FNUn8lHeOsgIg-8"><g><rect x="440" y="287" width="160" height="80" rx="12" ry="12" fill="#ffffff" stroke="#000000" pointer-events="all" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 152px; height: 1px; padding-top: 294px; margin-left: 448px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #000000; "><div style="display: inline-block; font-size: 14px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">click3 - ClickHouse</div></div></div></foreignObject><text x="448" y="308" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="14px">click3 - ClickHouse</text></switch></g></g></g><g data-cell-id="tSqiZl5FNUn8lHeOsgIg-9"><g><rect x="440" y="311" width="160" height="30" fill="none" stroke="none" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 152px; height: 1px; padding-top: 326px; margin-left: 448px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #000000; "><div style="display: inline-block; font-size: 11px; font-family: "Courier New"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">macros: <br />shard-02, replica=01</div></div></div></foreignObject><text x="448" y="329" fill="light-dark(#000000, #ffffff)" font-family=""Courier New"" font-size="11px">macros:...</text></switch></g></g></g><g data-cell-id="tSqiZl5FNUn8lHeOsgIg-11"><g><rect x="640" y="287" width="160" height="80" rx="12" ry="12" fill="#ffffff" stroke="#000000" pointer-events="all" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 152px; height: 1px; padding-top: 294px; margin-left: 648px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #000000; "><div style="display: inline-block; font-size: 14px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">click4 - ClickHouse</div></div></div></foreignObject><text x="648" y="308" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="14px">click4 - ClickHouse</text></switch></g></g></g><g data-cell-id="tSqiZl5FNUn8lHeOsgIg-12"><g><rect x="640" y="311" width="160" height="30" fill="none" stroke="none" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 152px; height: 1px; padding-top: 326px; margin-left: 648px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #000000; "><div style="display: inline-block; font-size: 11px; font-family: "Courier New"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">macros: <br />shard-02, replica=02</div></div></div></foreignObject><text x="648" y="329" fill="light-dark(#000000, #ffffff)" font-family=""Courier New"" font-size="11px">macros:...</text></switch></g></g></g><g data-cell-id="tSqiZl5FNUn8lHeOsgIg-15"><g><rect x="320" y="129" width="160" height="80" rx="12" ry="12" fill="#ffffff" stroke="#000000" pointer-events="all" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 152px; height: 1px; padding-top: 136px; margin-left: 328px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #000000; "><div style="display: inline-block; font-size: 14px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">HAProxy</div></div></div></foreignObject><text x="328" y="150" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="14px">HAProxy</text></switch></g></g></g><g data-cell-id="tSqiZl5FNUn8lHeOsgIg-16"><g><rect x="320" y="153" width="160" height="30" fill="none" stroke="none" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 152px; height: 1px; padding-top: 168px; margin-left: 328px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #000000; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font face="Courier New">Балансировка<br />подключений</font></div></div></div></foreignObject><text x="328" y="171" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="11px">Балансировка
подключений</text></switch></g></g></g><g data-cell-id="tSqiZl5FNUn8lHeOsgIg-19"><g><rect x="320" y="449" width="160" height="80" rx="12" ry="12" fill="#ffffff" stroke="#000000" pointer-events="all" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 152px; height: 1px; padding-top: 456px; margin-left: 328px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #000000; "><div style="display: inline-block; font-size: 14px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">ZooKeeper</div></div></div></foreignObject><text x="328" y="470" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="14px">ZooKeeper</text></switch></g></g></g><g data-cell-id="tSqiZl5FNUn8lHeOsgIg-20"><g><rect x="320" y="473" width="160" height="30" fill="none" stroke="none" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 152px; height: 1px; padding-top: 488px; margin-left: 328px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #000000; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font face="Courier New">Координация кластера</font></div></div></div></foreignObject><text x="328" y="491" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="11px">Координация кластера</text></switch></g></g></g></g><g data-cell-id="tSqiZl5FNUn8lHeOsgIg-38"><g><path d="M 600 30 L 540 30 L 540 168 L 487.3 168" fill="none" stroke="#001dbc" stroke-width="1.5" stroke-miterlimit="10" pointer-events="stroke" style="stroke: rgb(0, 29, 188);"/><path d="M 481.68 168 L 489.18 164.25 L 487.3 168 L 489.18 171.75 Z" fill="#001dbc" stroke="#001dbc" stroke-width="1.5" stroke-miterlimit="10" pointer-events="all" style="fill: rgb(0, 29, 188); stroke: rgb(0, 29, 188);"/></g></g></g></g></g></svg> |