add design

This commit is contained in:
lyyyuna 2021-07-21 16:35:06 +08:00
parent 8e7ef51597
commit b3d0a8de1b
2 changed files with 155 additions and 0 deletions

49
doc/goc_diff.drawio Normal file
View File

@ -0,0 +1,49 @@
<mxfile>
<diagram id="k9NB9guo-TzxMCc_p6Qm" name="diff design">
<mxGraphModel dx="888" dy="574" 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="2" value="goc diff" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="160" y="440" width="90" height="40" as="geometry"/>
</mxCell>
<mxCell id="3" value="local store" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="160" y="320" width="90" height="40" as="geometry"/>
</mxCell>
<mxCell id="4" value="s3 store" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="324" y="440" width="90" height="40" as="geometry"/>
</mxCell>
<mxCell id="5" value="" style="endArrow=classic;startArrow=classic;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="2" target="3">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="390" y="370" as="sourcePoint"/>
<mxPoint x="440" y="320" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="6" value="" style="endArrow=classic;startArrow=classic;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="2" target="4">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="390" y="370" as="sourcePoint"/>
<mxPoint x="440" y="320" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="8" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=12;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="390" y="360" as="sourcePoint"/>
<mxPoint x="390" y="130" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="9" value="" style="endArrow=classic;html=1;strokeWidth=2;" edge="1" parent="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="530" y="300" as="sourcePoint"/>
<mxPoint x="400" y="300" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="10" value="base" style="edgeLabel;resizable=0;html=1;align=center;verticalAlign=middle;" connectable="0" vertex="1" parent="9">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="12" value="store 存储 base 分支 commit 的profile" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;" vertex="1" parent="1">
<mxGeometry x="440" y="310" width="220" height="20" as="geometry"/>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

106
doc/protocol.drawio Normal file
View File

@ -0,0 +1,106 @@
<mxfile>
<diagram id="D3htiJm5t3r9G7ztMOgi" name="protocol design">
<mxGraphModel dx="969" dy="574" 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="2" value="goc server v1" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="140" y="170" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="3" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="520" y="170" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="4" value="http agent 1" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="525" y="190" width="100" height="20" as="geometry"/>
</mxCell>
<mxCell id="5" value="" style="endArrow=classic;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="2">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="420" y="310" as="sourcePoint"/>
<mxPoint x="510" y="200" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="6" value="" style="endArrow=none;html=1;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="420" y="310" as="sourcePoint"/>
<mxPoint x="420" y="90" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="7" value="NAT" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="440" y="80" width="40" height="20" as="geometry"/>
</mxCell>
<mxCell id="8" value="goc server v2" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="140" y="450" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="9" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="520" y="450" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="10" value="agent 1" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="500" y="470" width="100" height="20" as="geometry"/>
</mxCell>
<mxCell id="12" value="" style="endArrow=none;html=1;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="420" y="590" as="sourcePoint"/>
<mxPoint x="420" y="370" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="13" value="NAT" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="440" y="360" width="40" height="20" as="geometry"/>
</mxCell>
<mxCell id="14" value="" style="endArrow=classic;startArrow=classic;html=1;" edge="1" parent="1" target="10">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="270" y="480" as="sourcePoint"/>
<mxPoint x="470" y="430" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="15" value="rpc client" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="155" y="530" width="90" height="20" as="geometry"/>
</mxCell>
<mxCell id="16" value="rpc server" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="535" y="530" width="90" height="20" as="geometry"/>
</mxCell>
<mxCell id="17" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="520" y="570" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="18" value="agent 2" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="500" y="590" width="100" height="20" as="geometry"/>
</mxCell>
<mxCell id="19" value="rpc server" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="535" y="650" width="90" height="20" as="geometry"/>
</mxCell>
<mxCell id="20" value="websocket server" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="140" y="410" width="120" height="20" as="geometry"/>
</mxCell>
<mxCell id="21" value="websocket client" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="520" y="410" width="120" height="20" as="geometry"/>
</mxCell>
<mxCell id="22" value="http 1.1" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="310" y="180" width="60" height="20" as="geometry"/>
</mxCell>
<mxCell id="23" value="websocket&amp;nbsp;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="310" y="460" width="60" height="20" as="geometry"/>
</mxCell>
<mxCell id="24" value="1. 需要 http agent 可访问&lt;br&gt;2. 需要 goc server 维护一个地址列表&lt;br&gt;3. 重启 client/server&amp;nbsp;" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry y="160" width="130" height="150" as="geometry"/>
</mxCell>
<mxCell id="25" value="1. 不需要 http agent 暴露&lt;br&gt;2. 需要 goc server 维护一个 connection 字典&lt;br&gt;3. 重启 client/server&amp;nbsp;" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry y="430" width="130" height="150" as="geometry"/>
</mxCell>
<mxCell id="26" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="520" y="250" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="27" value="http agent 2" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="525" y="270" width="100" height="20" as="geometry"/>
</mxCell>
<mxCell id="28" value="" style="endArrow=classic;html=1;" edge="1" parent="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="340" y="260" as="sourcePoint"/>
<mxPoint x="420" y="200" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="29" value="端口映射" style="edgeLabel;resizable=0;html=1;align=center;verticalAlign=middle;" connectable="0" vertex="1" parent="28">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>