initial commit

This commit is contained in:
khannurien
2026-01-17 08:39:11 +01:00
commit d4b7a1ba99
43 changed files with 5026 additions and 0 deletions

View File

@@ -0,0 +1,45 @@
<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/28.2.5 Chrome/138.0.7204.251 Electron/37.6.1 Safari/537.36" version="28.2.5" pages="2">
<diagram name="Page-1" id="WE2OBRBfjwrgRAvIH2Xi">
<mxGraphModel dx="1106" dy="963" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="njQ_imjs8zr5ET9f7Rwc-4" value="réponse HTTP" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="njQ_imjs8zr5ET9f7Rwc-1" target="njQ_imjs8zr5ET9f7Rwc-2">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="njQ_imjs8zr5ET9f7Rwc-5" value="WebSocket" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=classic;startFill=1;" edge="1" parent="1" source="njQ_imjs8zr5ET9f7Rwc-1" target="njQ_imjs8zr5ET9f7Rwc-2">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="njQ_imjs8zr5ET9f7Rwc-1" value="Serveur web (Deno)" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;" vertex="1" parent="1">
<mxGeometry x="130" y="410" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="njQ_imjs8zr5ET9f7Rwc-3" value="requête HTTP" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="njQ_imjs8zr5ET9f7Rwc-2" target="njQ_imjs8zr5ET9f7Rwc-1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="njQ_imjs8zr5ET9f7Rwc-2" value="Client web (navigateur)" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;" vertex="1" parent="1">
<mxGeometry x="520" y="410" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="1ptE3tQJX40rlnvv1j5o-1" value="Application client&lt;div&gt;HTML, CSS, TypeScript&lt;/div&gt;" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="630" y="290" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="1ptE3tQJX40rlnvv1j5o-2" value="Application serveur&lt;div&gt;Deno, Oak&lt;/div&gt;" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="70" y="280" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="1ptE3tQJX40rlnvv1j5o-3" value="Base de données" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;" vertex="1" parent="1">
<mxGeometry x="240" y="270" width="60" height="80" as="geometry" />
</mxCell>
<mxCell id="1ptE3tQJX40rlnvv1j5o-4" value="Cache" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;" vertex="1" parent="1">
<mxGeometry x="384" y="270" width="60" height="80" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
<diagram id="wkPXxGK0bhSZwc4x9mIX" name="Page-2">
<mxGraphModel grid="1" page="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@@ -0,0 +1,82 @@
<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/28.2.5 Chrome/138.0.7204.251 Electron/37.6.1 Safari/537.36" version="28.2.5">
<diagram name="Page-1" id="o2Z0k-pMrQSQu8LE0CHS">
<mxGraphModel dx="2066" dy="1235" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-2" value="" style="html=1;shadow=0;dashed=0;align=center;verticalAlign=middle;shape=mxgraph.arrows2.uTurnArrow;dy=11;arrowHead=43;dx2=25;fontFamily=Lucida Console;" vertex="1" parent="1">
<mxGeometry x="380" y="360" width="310" height="300" as="geometry" />
</mxCell>
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-10" value="Register callback" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0;exitDx=144.75;exitDy=300;exitPerimeter=0;entryX=0.25;entryY=0;entryDx=0;entryDy=0;fontFamily=Lucida Console;" edge="1" parent="1" source="I0g5zxyyZJP6Qi3c9r4H-3" target="I0g5zxyyZJP6Qi3c9r4H-6">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-3" value="" style="html=1;shadow=0;dashed=0;align=center;verticalAlign=middle;shape=mxgraph.arrows2.uTurnArrow;dy=11;arrowHead=43;dx2=25;flipV=1;flipH=1;fontFamily=Lucida Console;" vertex="1" parent="1">
<mxGeometry x="570" y="370" width="310" height="300" as="geometry" />
</mxCell>
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-4" value="Event Loop" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Lucida Console;fontSize=48;" vertex="1" parent="1">
<mxGeometry x="480" y="450" width="300" height="70" as="geometry" />
</mxCell>
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-5" value="&lt;span style=&quot;&quot;&gt;&lt;font style=&quot;font-size: 24px;&quot;&gt;(1 thread)&lt;/font&gt;&lt;/span&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Lucida Console;" vertex="1" parent="1">
<mxGeometry x="530" y="540" width="200" height="30" as="geometry" />
</mxCell>
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-18" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=classic;startFill=1;fontFamily=Lucida Console;" edge="1" parent="1" source="I0g5zxyyZJP6Qi3c9r4H-6" target="I0g5zxyyZJP6Qi3c9r4H-12">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-36" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="I0g5zxyyZJP6Qi3c9r4H-6" target="I0g5zxyyZJP6Qi3c9r4H-35">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-6" value="I/O&lt;div&gt;Operations&lt;/div&gt;" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;fontFamily=Lucida Console;verticalAlign=top;fontSize=24;" vertex="1" parent="1">
<mxGeometry x="960" y="382.5" width="210" height="275" as="geometry" />
</mxCell>
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-7" value="FS" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;fontFamily=Lucida Console;" vertex="1" parent="1">
<mxGeometry x="990" y="470" width="60" height="80" as="geometry" />
</mxCell>
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-8" value="DB" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;fontFamily=Lucida Console;" vertex="1" parent="1">
<mxGeometry x="1080" y="470" width="60" height="80" as="geometry" />
</mxCell>
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-9" value="NET" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;fontFamily=Lucida Console;" vertex="1" parent="1">
<mxGeometry x="1035" y="560" width="60" height="80" as="geometry" />
</mxCell>
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-11" value="Operation complete" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.25;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0;entryDx=227.375;entryDy=300;entryPerimeter=0;fontFamily=Lucida Console;" edge="1" parent="1" source="I0g5zxyyZJP6Qi3c9r4H-6" target="I0g5zxyyZJP6Qi3c9r4H-2">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-12" value="Internal Thread Pool" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;verticalAlign=bottom;labelPosition=center;verticalLabelPosition=top;align=center;fontFamily=Lucida Console;" vertex="1" parent="1">
<mxGeometry x="1210" y="410" width="120" height="178.75" as="geometry" />
</mxCell>
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-13" value="Call Stack" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;fontFamily=Lucida Console;verticalAlign=bottom;labelPosition=center;verticalLabelPosition=top;align=center;" vertex="1" parent="1">
<mxGeometry x="200" y="382.5" width="120" height="277.5" as="geometry" />
</mxCell>
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-19" value="Thread 1" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Lucida Console;" vertex="1" parent="1">
<mxGeometry x="1222.5" y="428.75" width="95" height="40" as="geometry" />
</mxCell>
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-22" value="Thread n" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Lucida Console;" vertex="1" parent="1">
<mxGeometry x="1223.5" y="528.75" width="95" height="40" as="geometry" />
</mxCell>
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-23" value="..." style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Lucida Console;" vertex="1" parent="1">
<mxGeometry x="1241" y="490" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-28" value="fn1&lt;span style=&quot;background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;(...)&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Lucida Console;" vertex="1" parent="1">
<mxGeometry x="212.5" y="401.25" width="95" height="60" as="geometry" />
</mxCell>
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-29" value="fn2(...)" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Lucida Console;" vertex="1" parent="1">
<mxGeometry x="212.5" y="461.25" width="95" height="60" as="geometry" />
</mxCell>
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-30" value="callback(...)" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Lucida Console;" vertex="1" parent="1">
<mxGeometry x="212.5" y="581.25" width="95" height="60" as="geometry" />
</mxCell>
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-31" value="..." style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Lucida Console;" vertex="1" parent="1">
<mxGeometry x="230" y="541.25" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-33" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.081;entryY=0.24;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="I0g5zxyyZJP6Qi3c9r4H-28" target="I0g5zxyyZJP6Qi3c9r4H-2">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-34" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.113;entryY=0.84;entryDx=0;entryDy=0;entryPerimeter=0;startArrow=classic;startFill=1;endArrow=none;endFill=0;" edge="1" parent="1" source="I0g5zxyyZJP6Qi3c9r4H-30" target="I0g5zxyyZJP6Qi3c9r4H-2">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-35" value="OS async syscalls" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;verticalAlign=middle;labelPosition=center;verticalLabelPosition=middle;align=center;fontFamily=Lucida Console;" vertex="1" parent="1">
<mxGeometry x="1210" y="610" width="120" height="50" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

45
res/architecture.drawio Normal file
View File

@@ -0,0 +1,45 @@
<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/28.2.5 Chrome/138.0.7204.251 Electron/37.6.1 Safari/537.36" version="28.2.5" pages="2">
<diagram name="Architecture (locale)" id="WE2OBRBfjwrgRAvIH2Xi">
<mxGraphModel dx="1106" dy="963" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="njQ_imjs8zr5ET9f7Rwc-4" value="réponse HTTP" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="njQ_imjs8zr5ET9f7Rwc-1" target="njQ_imjs8zr5ET9f7Rwc-2">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="njQ_imjs8zr5ET9f7Rwc-5" value="WebSocket" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=classic;startFill=1;" edge="1" parent="1" source="njQ_imjs8zr5ET9f7Rwc-1" target="njQ_imjs8zr5ET9f7Rwc-2">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="njQ_imjs8zr5ET9f7Rwc-1" value="Serveur web (Deno)" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;" vertex="1" parent="1">
<mxGeometry x="130" y="410" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="njQ_imjs8zr5ET9f7Rwc-3" value="requête HTTP" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="njQ_imjs8zr5ET9f7Rwc-2" target="njQ_imjs8zr5ET9f7Rwc-1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="njQ_imjs8zr5ET9f7Rwc-2" value="Client web (navigateur)" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;" vertex="1" parent="1">
<mxGeometry x="520" y="410" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="1ptE3tQJX40rlnvv1j5o-1" value="Application client&lt;div&gt;HTML, CSS, TypeScript&lt;/div&gt;" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="630" y="290" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="1ptE3tQJX40rlnvv1j5o-2" value="Application serveur&lt;div&gt;Deno, Oak&lt;/div&gt;" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="70" y="280" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="1ptE3tQJX40rlnvv1j5o-3" value="Base de données" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;" vertex="1" parent="1">
<mxGeometry x="240" y="270" width="60" height="80" as="geometry" />
</mxCell>
<mxCell id="1ptE3tQJX40rlnvv1j5o-4" value="Cache" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;" vertex="1" parent="1">
<mxGeometry x="384" y="270" width="60" height="80" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
<diagram id="wkPXxGK0bhSZwc4x9mIX" name="Architecture (reverse proxy)">
<mxGraphModel dx="1106" dy="963" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
</root>
</mxGraphModel>
</diagram>
</mxfile>

82
res/js-event-loop.drawio Normal file
View File

@@ -0,0 +1,82 @@
<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/28.2.5 Chrome/138.0.7204.251 Electron/37.6.1 Safari/537.36" version="28.2.5">
<diagram name="Page-1" id="o2Z0k-pMrQSQu8LE0CHS">
<mxGraphModel dx="2066" dy="1235" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-2" value="" style="html=1;shadow=0;dashed=0;align=center;verticalAlign=middle;shape=mxgraph.arrows2.uTurnArrow;dy=11;arrowHead=43;dx2=25;fontFamily=Lucida Console;" vertex="1" parent="1">
<mxGeometry x="380" y="360" width="310" height="300" as="geometry" />
</mxCell>
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-10" value="Register callback" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0;exitDx=144.75;exitDy=300;exitPerimeter=0;entryX=0.25;entryY=0;entryDx=0;entryDy=0;fontFamily=Lucida Console;" edge="1" parent="1" source="I0g5zxyyZJP6Qi3c9r4H-3" target="I0g5zxyyZJP6Qi3c9r4H-6">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-3" value="" style="html=1;shadow=0;dashed=0;align=center;verticalAlign=middle;shape=mxgraph.arrows2.uTurnArrow;dy=11;arrowHead=43;dx2=25;flipV=1;flipH=1;fontFamily=Lucida Console;" vertex="1" parent="1">
<mxGeometry x="570" y="370" width="310" height="300" as="geometry" />
</mxCell>
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-4" value="Event Loop" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Lucida Console;fontSize=48;" vertex="1" parent="1">
<mxGeometry x="480" y="450" width="300" height="70" as="geometry" />
</mxCell>
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-5" value="&lt;span style=&quot;&quot;&gt;&lt;font style=&quot;font-size: 24px;&quot;&gt;(1 thread)&lt;/font&gt;&lt;/span&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Lucida Console;" vertex="1" parent="1">
<mxGeometry x="530" y="540" width="200" height="30" as="geometry" />
</mxCell>
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-18" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=classic;startFill=1;fontFamily=Lucida Console;" edge="1" parent="1" source="I0g5zxyyZJP6Qi3c9r4H-6" target="I0g5zxyyZJP6Qi3c9r4H-12">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-36" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="I0g5zxyyZJP6Qi3c9r4H-6" target="I0g5zxyyZJP6Qi3c9r4H-35">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-6" value="I/O&lt;div&gt;Operations&lt;/div&gt;" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;fontFamily=Lucida Console;verticalAlign=top;fontSize=24;" vertex="1" parent="1">
<mxGeometry x="960" y="382.5" width="210" height="275" as="geometry" />
</mxCell>
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-7" value="FS" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;fontFamily=Lucida Console;" vertex="1" parent="1">
<mxGeometry x="990" y="470" width="60" height="80" as="geometry" />
</mxCell>
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-8" value="DB" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;fontFamily=Lucida Console;" vertex="1" parent="1">
<mxGeometry x="1080" y="470" width="60" height="80" as="geometry" />
</mxCell>
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-9" value="NET" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;fontFamily=Lucida Console;" vertex="1" parent="1">
<mxGeometry x="1035" y="560" width="60" height="80" as="geometry" />
</mxCell>
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-11" value="Operation complete" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.25;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0;entryDx=227.375;entryDy=300;entryPerimeter=0;fontFamily=Lucida Console;" edge="1" parent="1" source="I0g5zxyyZJP6Qi3c9r4H-6" target="I0g5zxyyZJP6Qi3c9r4H-2">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-12" value="Internal Thread Pool" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;verticalAlign=bottom;labelPosition=center;verticalLabelPosition=top;align=center;fontFamily=Lucida Console;" vertex="1" parent="1">
<mxGeometry x="1210" y="410" width="120" height="178.75" as="geometry" />
</mxCell>
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-13" value="Call Stack" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;fontFamily=Lucida Console;verticalAlign=bottom;labelPosition=center;verticalLabelPosition=top;align=center;" vertex="1" parent="1">
<mxGeometry x="200" y="382.5" width="120" height="277.5" as="geometry" />
</mxCell>
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-19" value="Thread 1" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Lucida Console;" vertex="1" parent="1">
<mxGeometry x="1222.5" y="428.75" width="95" height="40" as="geometry" />
</mxCell>
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-22" value="Thread n" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Lucida Console;" vertex="1" parent="1">
<mxGeometry x="1223.5" y="528.75" width="95" height="40" as="geometry" />
</mxCell>
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-23" value="..." style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Lucida Console;" vertex="1" parent="1">
<mxGeometry x="1241" y="490" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-28" value="fn1&lt;span style=&quot;background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;(...)&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Lucida Console;" vertex="1" parent="1">
<mxGeometry x="212.5" y="401.25" width="95" height="60" as="geometry" />
</mxCell>
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-29" value="fn2(...)" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Lucida Console;" vertex="1" parent="1">
<mxGeometry x="212.5" y="461.25" width="95" height="60" as="geometry" />
</mxCell>
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-30" value="callback(...)" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Lucida Console;" vertex="1" parent="1">
<mxGeometry x="212.5" y="581.25" width="95" height="60" as="geometry" />
</mxCell>
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-31" value="..." style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Lucida Console;" vertex="1" parent="1">
<mxGeometry x="230" y="541.25" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-33" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.081;entryY=0.24;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="I0g5zxyyZJP6Qi3c9r4H-28" target="I0g5zxyyZJP6Qi3c9r4H-2">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-34" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.113;entryY=0.84;entryDx=0;entryDy=0;entryPerimeter=0;startArrow=classic;startFill=1;endArrow=none;endFill=0;" edge="1" parent="1" source="I0g5zxyyZJP6Qi3c9r4H-30" target="I0g5zxyyZJP6Qi3c9r4H-2">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="I0g5zxyyZJP6Qi3c9r4H-35" value="OS async syscalls" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;verticalAlign=middle;labelPosition=center;verticalLabelPosition=middle;align=center;fontFamily=Lucida Console;" vertex="1" parent="1">
<mxGeometry x="1210" y="610" width="120" height="50" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

155
res/scaling.drawio Normal file
View File

@@ -0,0 +1,155 @@
<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/28.2.5 Chrome/138.0.7204.251 Electron/37.6.1 Safari/537.36" version="28.2.5" pages="2">
<diagram name="Page-1" id="xunzUwHFhwkz4ZFfysU3">
<mxGraphModel dx="1307" dy="1078" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="1ADzjnrqRUSSSZhDYKZD-6" value="Server 2" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Lucida Console;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;" vertex="1" parent="1">
<mxGeometry x="931" y="740" width="180" height="300" as="geometry" />
</mxCell>
<mxCell id="1ADzjnrqRUSSSZhDYKZD-7" value="Server 1" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Lucida Console;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;" vertex="1" parent="1">
<mxGeometry x="712.5" y="740" width="180" height="160" as="geometry" />
</mxCell>
<mxCell id="1ADzjnrqRUSSSZhDYKZD-8" value="Backend" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Lucida Console;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
<mxGeometry x="733.5" y="760" width="70" height="60" as="geometry" />
</mxCell>
<mxCell id="1ADzjnrqRUSSSZhDYKZD-9" value="Authentication" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Lucida Console;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="1">
<mxGeometry x="742.5" y="820" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="1ADzjnrqRUSSSZhDYKZD-10" value="Backend" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Lucida Console;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
<mxGeometry x="803.5" y="760" width="70" height="60" as="geometry" />
</mxCell>
<mxCell id="1ADzjnrqRUSSSZhDYKZD-11" value="Frontend" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Lucida Console;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
<mxGeometry x="952" y="820" width="70" height="60" as="geometry" />
</mxCell>
<mxCell id="1ADzjnrqRUSSSZhDYKZD-12" value="Frontend" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Lucida Console;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
<mxGeometry x="1021" y="760" width="70" height="60" as="geometry" />
</mxCell>
<mxCell id="1ADzjnrqRUSSSZhDYKZD-13" value="Backend" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Lucida Console;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
<mxGeometry x="951" y="760" width="70" height="60" as="geometry" />
</mxCell>
<mxCell id="1ADzjnrqRUSSSZhDYKZD-17" value="&lt;font face=&quot;Lucida Console&quot;&gt;Horizontal Scaling&lt;br&gt;&lt;/font&gt;" style="endArrow=classic;html=1;rounded=0;dashed=1;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="678.5" y="1085" as="sourcePoint" />
<mxPoint x="1360" y="1085" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="1ADzjnrqRUSSSZhDYKZD-18" value="Server count" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Lucida Console;" vertex="1" parent="1">
<mxGeometry x="1303.5" y="1105" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="1ADzjnrqRUSSSZhDYKZD-19" value="Server 3" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Lucida Console;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;" vertex="1" parent="1">
<mxGeometry x="1149.5" y="740" width="180" height="160" as="geometry" />
</mxCell>
<mxCell id="1ADzjnrqRUSSSZhDYKZD-20" value="Authentication" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Lucida Console;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="1">
<mxGeometry x="1179.5" y="760" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="1ADzjnrqRUSSSZhDYKZD-21" value="&lt;font face=&quot;Lucida Console&quot;&gt;Vertical Scaling&lt;br&gt;&lt;/font&gt;" style="endArrow=classic;startArrow=none;html=1;rounded=0;startFill=0;dashed=1;horizontal=0;" edge="1" parent="1">
<mxGeometry x="-0.0556" width="50" height="50" relative="1" as="geometry">
<mxPoint x="678.5" y="1085" as="sourcePoint" />
<mxPoint x="678.5" y="725" as="targetPoint" />
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="1ADzjnrqRUSSSZhDYKZD-22" value="Compute power" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Lucida Console;" vertex="1" parent="1">
<mxGeometry x="600" y="720" width="70" height="30" as="geometry" />
</mxCell>
<mxCell id="1ADzjnrqRUSSSZhDYKZD-23" value="Authentication" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Lucida Console;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="1">
<mxGeometry x="961" y="880" width="120" height="140" as="geometry" />
</mxCell>
<mxCell id="1ADzjnrqRUSSSZhDYKZD-24" value="Backend" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Lucida Console;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
<mxGeometry x="1021" y="820" width="70" height="60" as="geometry" />
</mxCell>
<mxCell id="1ADzjnrqRUSSSZhDYKZD-25" value="Backend" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Lucida Console;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
<mxGeometry x="1169.5" y="820" width="70" height="60" as="geometry" />
</mxCell>
<mxCell id="1ADzjnrqRUSSSZhDYKZD-26" value="Frontend" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Lucida Console;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
<mxGeometry x="1239.5" y="820" width="70" height="60" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
<diagram id="XuR8pBeYArQNiwP7_7Y3" name="Page-2">
<mxGraphModel dx="1307" dy="1078" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="uBfJnC3izJ6YzHo_WmXs-1" value="Server 2" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Lucida Console;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;" vertex="1" parent="1">
<mxGeometry x="781" y="590" width="180" height="300" as="geometry" />
</mxCell>
<mxCell id="uBfJnC3izJ6YzHo_WmXs-2" value="Server 3" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Lucida Console;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;" vertex="1" parent="1">
<mxGeometry x="995" y="590" width="180" height="160" as="geometry" />
</mxCell>
<mxCell id="uBfJnC3izJ6YzHo_WmXs-3" value="Server 1" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Lucida Console;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;" vertex="1" parent="1">
<mxGeometry x="565" y="590" width="180" height="160" as="geometry" />
</mxCell>
<mxCell id="uBfJnC3izJ6YzHo_WmXs-4" value="" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Lucida Console;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" vertex="1" parent="1">
<mxGeometry x="575" y="600" width="160" height="140" as="geometry" />
</mxCell>
<mxCell id="uBfJnC3izJ6YzHo_WmXs-5" value="Backend" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Lucida Console;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
<mxGeometry x="586" y="610" width="70" height="60" as="geometry" />
</mxCell>
<mxCell id="uBfJnC3izJ6YzHo_WmXs-6" value="Frontend" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Lucida Console;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
<mxGeometry x="656" y="610" width="70" height="60" as="geometry" />
</mxCell>
<mxCell id="uBfJnC3izJ6YzHo_WmXs-7" value="Authentication" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Lucida Console;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="1">
<mxGeometry x="595" y="670" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="uBfJnC3izJ6YzHo_WmXs-8" value="" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Lucida Console;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" vertex="1" parent="1">
<mxGeometry x="791" y="600" width="160" height="140" as="geometry" />
</mxCell>
<mxCell id="uBfJnC3izJ6YzHo_WmXs-9" value="Backend" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Lucida Console;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
<mxGeometry x="802" y="610" width="70" height="60" as="geometry" />
</mxCell>
<mxCell id="uBfJnC3izJ6YzHo_WmXs-10" value="Frontend" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Lucida Console;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
<mxGeometry x="872" y="610" width="70" height="60" as="geometry" />
</mxCell>
<mxCell id="uBfJnC3izJ6YzHo_WmXs-11" value="Authentication" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Lucida Console;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="1">
<mxGeometry x="811" y="670" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="uBfJnC3izJ6YzHo_WmXs-16" value="" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Lucida Console;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" vertex="1" parent="1">
<mxGeometry x="1005" y="600" width="160" height="140" as="geometry" />
</mxCell>
<mxCell id="uBfJnC3izJ6YzHo_WmXs-17" value="Backend" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Lucida Console;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
<mxGeometry x="1016" y="610" width="70" height="60" as="geometry" />
</mxCell>
<mxCell id="uBfJnC3izJ6YzHo_WmXs-18" value="Frontend" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Lucida Console;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
<mxGeometry x="1086" y="610" width="70" height="60" as="geometry" />
</mxCell>
<mxCell id="uBfJnC3izJ6YzHo_WmXs-19" value="Authentication" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Lucida Console;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="1">
<mxGeometry x="1025" y="670" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="uBfJnC3izJ6YzHo_WmXs-22" value="" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Lucida Console;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" vertex="1" parent="1">
<mxGeometry x="791" y="740" width="160" height="140" as="geometry" />
</mxCell>
<mxCell id="uBfJnC3izJ6YzHo_WmXs-23" value="Backend" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Lucida Console;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
<mxGeometry x="802" y="750" width="70" height="60" as="geometry" />
</mxCell>
<mxCell id="uBfJnC3izJ6YzHo_WmXs-24" value="Frontend" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Lucida Console;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
<mxGeometry x="872" y="750" width="70" height="60" as="geometry" />
</mxCell>
<mxCell id="uBfJnC3izJ6YzHo_WmXs-25" value="Authentication" style="rounded=1;whiteSpace=wrap;html=1;fontFamily=Lucida Console;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="1">
<mxGeometry x="811" y="810" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="uBfJnC3izJ6YzHo_WmXs-26" value="&lt;font face=&quot;Lucida Console&quot;&gt;Vertical Scaling&lt;br&gt;&lt;/font&gt;" style="endArrow=classic;startArrow=none;html=1;rounded=0;startFill=0;dashed=1;horizontal=0;" edge="1" parent="1">
<mxGeometry x="-0.0556" width="50" height="50" relative="1" as="geometry">
<mxPoint x="528.5" y="935" as="sourcePoint" />
<mxPoint x="528.5" y="575" as="targetPoint" />
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="uBfJnC3izJ6YzHo_WmXs-27" value="&lt;font face=&quot;Lucida Console&quot;&gt;Horizontal Scaling&lt;br&gt;&lt;/font&gt;" style="endArrow=classic;html=1;rounded=0;dashed=1;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="528.5" y="935" as="sourcePoint" />
<mxPoint x="1210" y="935" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="uBfJnC3izJ6YzHo_WmXs-28" value="Compute power" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Lucida Console;" vertex="1" parent="1">
<mxGeometry x="450" y="570" width="70" height="30" as="geometry" />
</mxCell>
<mxCell id="uBfJnC3izJ6YzHo_WmXs-29" value="Server count" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Lucida Console;" vertex="1" parent="1">
<mxGeometry x="1153.5" y="955" width="60" height="30" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>