Files
model-platform/docs/architecture/A卡模型运维模块-系统架构-V0.2.svg
T

205 lines
19 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 15.1.0 (20260618.0150)
-->
<!-- Title: A 卡模型运维模块 · 推荐系统架构 V0.2
同一工程 / 双数据库 / 平台库只读 / 运维库自有 Pages: 1 -->
<svg width="2352pt" height="1980pt"
viewBox="0.00 0.00 2352.00 1980.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1.52754 1.52754) rotate(0) translate(39.6 1256.6)">
<title>A 卡模型运维模块 · 推荐系统架构 V0.2
同一工程 / 双数据库 / 平台库只读 / 运维库自有</title>
<polygon fill="white" stroke="none" points="-39.6,39.6 -39.6,-1256.6 1500.45,-1256.6 1500.45,39.6 -39.6,39.6"/>
<text xml:space="preserve" text-anchor="middle" x="730.43" y="-1189.25" font-family="PingFang SC" font-size="25.00" fill="#2d3436">A 卡模型运维模块 · 推荐系统架构 V0.2</text>
<text xml:space="preserve" text-anchor="middle" x="730.43" y="-1153.25" font-family="PingFang SC" font-size="25.00" fill="#2d3436">同一工程 / 双数据库 / 平台库只读 / 运维库自有</text>
<g id="clust1" class="cluster">
<title>cluster_入口层(现有)</title>
<path fill="#f5f7fa" stroke="#aeb7c4" d="M20,-889C20,-889 663.38,-889 663.38,-889 669.38,-889 675.38,-895 675.38,-901 675.38,-901 675.38,-1113 675.38,-1113 675.38,-1119 669.38,-1125 663.38,-1125 663.38,-1125 20,-1125 20,-1125 14,-1125 8,-1119 8,-1113 8,-1113 8,-901 8,-901 8,-895 14,-889 20,-889"/>
<text xml:space="preserve" text-anchor="middle" x="68.5" y="-1106.75" font-family="PingFang SC" font-size="15.00" fill="#2d3436">入口层(现有)</text>
</g>
<g id="clust2" class="cluster">
<title>cluster_统一 FastAPI 工程(现有服务内新增模块)</title>
<path fill="#eef5fd" stroke="#7fa8d8" d="M465.1,-430C465.1,-430 745.85,-430 745.85,-430 751.85,-430 757.85,-436 757.85,-442 757.85,-442 757.85,-869 757.85,-869 757.85,-875 751.85,-881 745.85,-881 745.85,-881 465.1,-881 465.1,-881 459.1,-881 453.1,-875 453.1,-869 453.1,-869 453.1,-442 453.1,-442 453.1,-436 459.1,-430 465.1,-430"/>
<text xml:space="preserve" text-anchor="middle" x="605.48" y="-862.75" font-family="PingFang SC" font-size="15.00" fill="#2d3436">统一 FastAPI 工程(现有服务内新增模块)</text>
</g>
<g id="clust3" class="cluster">
<title>cluster_model_platform(现有库,不改表)</title>
<path fill="#f5f6f8" stroke="#aeb7c4" stroke-dasharray="5,2" d="M904.85,-678C904.85,-678 1140.6,-678 1140.6,-678 1146.6,-678 1152.6,-684 1152.6,-690 1152.6,-690 1152.6,-1117 1152.6,-1117 1152.6,-1123 1146.6,-1129 1140.6,-1129 1140.6,-1129 904.85,-1129 904.85,-1129 898.85,-1129 892.85,-1123 892.85,-1117 892.85,-1117 892.85,-690 892.85,-690 892.85,-684 898.85,-678 904.85,-678"/>
<text xml:space="preserve" text-anchor="middle" x="1022.73" y="-1110.75" font-family="PingFang SC" font-size="15.00" fill="#2d3436">model_platform(现有库,不改表)</text>
</g>
<g id="clust4" class="cluster">
<title>cluster_model_operations(新建独立库)</title>
<path fill="#f1f8f5" stroke="#78a88d" d="M912.35,-8C912.35,-8 1133.1,-8 1133.1,-8 1139.1,-8 1145.1,-14 1145.1,-20 1145.1,-20 1145.1,-658 1145.1,-658 1145.1,-664 1139.1,-670 1133.1,-670 1133.1,-670 912.35,-670 912.35,-670 906.35,-670 900.35,-664 900.35,-658 900.35,-658 900.35,-20 900.35,-20 900.35,-14 906.35,-8 912.35,-8"/>
<text xml:space="preserve" text-anchor="middle" x="1022.73" y="-651.75" font-family="PingFang SC" font-size="15.00" fill="#2d3436">model_operations(新建独立库)</text>
</g>
<g id="clust5" class="cluster">
<title>cluster_异步执行(现有服务扩展连接)</title>
<path fill="#faf6ee" stroke="#c6a96d" d="M1246.85,-10C1246.85,-10 1448.85,-10 1448.85,-10 1454.85,-10 1460.85,-16 1460.85,-22 1460.85,-22 1460.85,-234 1460.85,-234 1460.85,-240 1454.85,-246 1448.85,-246 1448.85,-246 1246.85,-246 1246.85,-246 1240.85,-246 1234.85,-240 1234.85,-234 1234.85,-234 1234.85,-22 1234.85,-22 1234.85,-16 1240.85,-10 1246.85,-10"/>
<text xml:space="preserve" text-anchor="middle" x="1347.85" y="-227.75" font-family="PingFang SC" font-size="15.00" fill="#2d3436">异步执行(现有服务扩展连接)</text>
</g>
<!-- a43539db1c804657b3d885ca10362e1f -->
<g id="node1" class="node">
<title>a43539db1c804657b3d885ca10362e1f</title>
<image xlink:href="/private/tmp/a-card-diagrams-v01/lib/python3.14/site-packages/resources/onprem/client/users.png" width="100.8px" height="100.8px" preserveAspectRatio="xMinYMin meet" x="28" y="-1042.4"/>
<text xml:space="preserve" text-anchor="middle" x="78.4" y="-930.25" font-family="PingFang SC" font-size="11.00" fill="#2d3436">业务团队 / 模型团队</text>
<text xml:space="preserve" text-anchor="middle" x="78.4" y="-914.5" font-family="PingFang SC" font-size="11.00" fill="#2d3436">管理员</text>
</g>
<!-- 899fff0a9a094701b6f22f9956bcdb3a -->
<g id="node2" class="node">
<title>899fff0a9a094701b6f22f9956bcdb3a</title>
<image xlink:href="/private/tmp/a-card-diagrams-v01/lib/python3.14/site-packages/resources/onprem/network/nginx.png" width="100.8px" height="100.8px" preserveAspectRatio="xMinYMin meet" x="235.05" y="-1042.4"/>
<text xml:space="preserve" text-anchor="middle" x="285.45" y="-930.25" font-family="PingFang SC" font-size="11.00" fill="#2d3436">Nginx Gateway</text>
<text xml:space="preserve" text-anchor="middle" x="285.45" y="-914.5" font-family="PingFang SC" font-size="11.00" fill="#2d3436">唯一入口</text>
</g>
<!-- a43539db1c804657b3d885ca10362e1f&#45;&gt;899fff0a9a094701b6f22f9956bcdb3a -->
<g id="edge1" class="edge">
<title>a43539db1c804657b3d885ca10362e1f&#45;&gt;899fff0a9a094701b6f22f9956bcdb3a</title>
<path fill="none" stroke="#2f6fe0" stroke-width="1.8" d="M128.78,-992C156.98,-992 192.6,-992 222.65,-992"/>
<polygon fill="#2f6fe0" stroke="#2f6fe0" stroke-width="1.8" points="222.42,-995.5 232.42,-992 222.42,-988.5 222.42,-995.5"/>
<text xml:space="preserve" text-anchor="middle" x="181.93" y="-993.15" font-family="Sans-Serif" font-size="13.00" fill="#2d3436">HTTPS</text>
</g>
<!-- 89f32bf7b7fc46a28737c75e205d9b60 -->
<g id="node3" class="node">
<title>89f32bf7b7fc46a28737c75e205d9b60</title>
<image xlink:href="/private/tmp/a-card-diagrams-v01/lib/python3.14/site-packages/resources/programming/framework/react.png" width="100.8px" height="100.8px" preserveAspectRatio="xMinYMin meet" x="554.575" y="-1042.4"/>
<text xml:space="preserve" text-anchor="middle" x="604.98" y="-930.25" font-family="PingFang SC" font-size="11.00" fill="#2d3436">React SPA</text>
<text xml:space="preserve" text-anchor="middle" x="604.98" y="-914.5" font-family="PingFang SC" font-size="11.00" fill="#2d3436">模型平台 + 运维平台</text>
</g>
<!-- 899fff0a9a094701b6f22f9956bcdb3a&#45;&gt;89f32bf7b7fc46a28737c75e205d9b60 -->
<g id="edge2" class="edge">
<title>899fff0a9a094701b6f22f9956bcdb3a&#45;&gt;89f32bf7b7fc46a28737c75e205d9b60</title>
<path fill="none" stroke="#2f6fe0" d="M335.71,-992C391.68,-992 483.05,-992 543.34,-992"/>
<polygon fill="#2f6fe0" stroke="#2f6fe0" points="543.08,-995.5 553.08,-992 543.08,-988.5 543.08,-995.5"/>
<text xml:space="preserve" text-anchor="middle" x="405.48" y="-998.4" font-family="Sans-Serif" font-size="13.00" fill="#2d3436">静态资源</text>
</g>
<!-- 9296664724924c399cb8cfb5068084fc -->
<g id="node4" class="node">
<title>9296664724924c399cb8cfb5068084fc</title>
<image xlink:href="/private/tmp/a-card-diagrams-v01/lib/python3.14/site-packages/resources/programming/framework/fastapi.png" width="100.8px" height="100.8px" preserveAspectRatio="xMinYMin meet" x="554.575" y="-796.4"/>
<text xml:space="preserve" text-anchor="middle" x="604.98" y="-684.25" font-family="PingFang SC" font-size="11.00" fill="#2d3436">模型平台模块</text>
<text xml:space="preserve" text-anchor="middle" x="604.98" y="-668.5" font-family="PingFang SC" font-size="11.00" fill="#2d3436">现有功能 + 模型源数据写入</text>
</g>
<!-- 899fff0a9a094701b6f22f9956bcdb3a&#45;&gt;9296664724924c399cb8cfb5068084fc -->
<g id="edge3" class="edge">
<title>899fff0a9a094701b6f22f9956bcdb3a&#45;&gt;9296664724924c399cb8cfb5068084fc</title>
<path fill="none" stroke="#2f6fe0" d="M335.71,-953.83C392.38,-909.93 485.33,-837.92 545.58,-791.24"/>
<polygon fill="#2f6fe0" stroke="#2f6fe0" points="547.64,-794.08 553.4,-785.18 543.35,-788.54 547.64,-794.08"/>
<text xml:space="preserve" text-anchor="middle" x="405.48" y="-932.42" font-family="Sans-Serif" font-size="13.00" fill="#2d3436">模型平台 API</text>
</g>
<!-- 9aabb7a0ed52461f9dcc185116311d37 -->
<g id="node5" class="node">
<title>9aabb7a0ed52461f9dcc185116311d37</title>
<image xlink:href="/private/tmp/a-card-diagrams-v01/lib/python3.14/site-packages/resources/programming/framework/fastapi.png" width="100.8px" height="100.8px" preserveAspectRatio="xMinYMin meet" x="554.575" y="-585.4"/>
<text xml:space="preserve" text-anchor="middle" x="604.98" y="-473.25" font-family="PingFang SC" font-size="11.00" fill="#2d3436">运维模块</text>
<text xml:space="preserve" text-anchor="middle" x="604.98" y="-457.5" font-family="PingFang SC" font-size="11.00" fill="#2d3436">查询 / 判级 / 复核 / 报告 / 流程</text>
</g>
<!-- 899fff0a9a094701b6f22f9956bcdb3a&#45;&gt;9aabb7a0ed52461f9dcc185116311d37 -->
<g id="edge4" class="edge">
<title>899fff0a9a094701b6f22f9956bcdb3a&#45;&gt;9aabb7a0ed52461f9dcc185116311d37</title>
<path fill="none" stroke="#2f6fe0" stroke-width="1.8" d="M312.06,-909.26C338.5,-833.45 385.46,-721.17 453.1,-641 478.29,-611.15 513.74,-585.67 543.95,-567.18"/>
<polygon fill="#2f6fe0" stroke="#2f6fe0" stroke-width="1.8" points="545.68,-570.22 552.47,-562.09 542.09,-564.21 545.68,-570.22"/>
<text xml:space="preserve" text-anchor="middle" x="405.48" y="-781.42" font-family="Sans-Serif" font-size="13.00" fill="#2d3436">运维 API</text>
</g>
<!-- 69e41aadb5c1457698ca525cb60f84f4 -->
<g id="node6" class="node">
<title>69e41aadb5c1457698ca525cb60f84f4</title>
<image xlink:href="/private/tmp/a-card-diagrams-v01/lib/python3.14/site-packages/resources/onprem/database/mysql.png" width="100.8px" height="100.8px" preserveAspectRatio="xMinYMin meet" x="971.825" y="-1044.4"/>
<text xml:space="preserve" text-anchor="middle" x="1022.23" y="-932.25" font-family="PingFang SC" font-size="11.00" fill="#2d3436">MySQL · model_platform</text>
<text xml:space="preserve" text-anchor="middle" x="1022.23" y="-916.5" font-family="PingFang SC" font-size="11.00" fill="#2d3436">用户 / 角色 / 工作空间 / 调度</text>
</g>
<!-- 9296664724924c399cb8cfb5068084fc&#45;&gt;69e41aadb5c1457698ca525cb60f84f4 -->
<g id="edge5" class="edge">
<title>9296664724924c399cb8cfb5068084fc&#45;&gt;69e41aadb5c1457698ca525cb60f84f4</title>
<path fill="none" stroke="#3f9ad0" d="M655.24,-775.42C732.04,-821.29 880,-909.66 962.32,-958.82"/>
<polygon fill="#3f9ad0" stroke="#3f9ad0" points="960.34,-961.72 970.72,-963.84 963.93,-955.71 960.34,-961.72"/>
<text xml:space="preserve" text-anchor="middle" x="825.35" y="-913.1" font-family="Sans-Serif" font-size="13.00" fill="#2d3436">现有平台读写</text>
</g>
<!-- aa5be898225c4a13839eb1bf2df335f2 -->
<g id="node8" class="node">
<title>aa5be898225c4a13839eb1bf2df335f2</title>
<image xlink:href="/private/tmp/a-card-diagrams-v01/lib/python3.14/site-packages/resources/onprem/database/mysql.png" width="100.8px" height="100.8px" preserveAspectRatio="xMinYMin meet" x="971.825" y="-585.4"/>
<text xml:space="preserve" text-anchor="middle" x="1022.23" y="-473.25" font-family="PingFang SC" font-size="11.00" fill="#2d3436">7 张模型源表</text>
<text xml:space="preserve" text-anchor="middle" x="1022.23" y="-457.5" font-family="PingFang SC" font-size="11.00" fill="#2d3436">模型方受控直写</text>
</g>
<!-- 9296664724924c399cb8cfb5068084fc&#45;&gt;aa5be898225c4a13839eb1bf2df335f2 -->
<g id="edge8" class="edge">
<title>9296664724924c399cb8cfb5068084fc&#45;&gt;aa5be898225c4a13839eb1bf2df335f2</title>
<path fill="none" stroke="#3f9ad0" stroke-width="2.2" d="M655.23,-751.69C716.49,-755.88 820.71,-753.16 883.85,-697 894.25,-687.75 885.8,-679 892.85,-667 911.01,-636.1 937.89,-606.95 962.37,-583.94"/>
<polygon fill="#3f9ad0" stroke="#3f9ad0" stroke-width="2.2" points="964.52,-586.71 969.51,-577.37 959.78,-581.56 964.52,-586.71"/>
<text xml:space="preserve" text-anchor="middle" x="825.35" y="-769.32" font-family="Sans-Serif" font-size="13.00" fill="#2d3436">受控 SQL 直写</text>
<text xml:space="preserve" text-anchor="middle" x="825.35" y="-750.57" font-family="Sans-Serif" font-size="13.00" fill="#2d3436">writing → published</text>
</g>
<!-- 9aabb7a0ed52461f9dcc185116311d37&#45;&gt;69e41aadb5c1457698ca525cb60f84f4 -->
<g id="edge6" class="edge">
<title>9aabb7a0ed52461f9dcc185116311d37&#45;&gt;69e41aadb5c1457698ca525cb60f84f4</title>
<path fill="none" stroke="#8b6fc4" stroke-width="1.8" stroke-dasharray="5,2" d="M655.06,-566.29C686.29,-585.38 728.02,-609.41 766.85,-627 816.94,-649.69 851.01,-623.15 883.85,-667.25 898.51,-686.94 881.94,-866.01 892.85,-888 907.76,-918.04 935.52,-942.62 961.42,-960.52"/>
<polygon fill="#8b6fc4" stroke="#8b6fc4" stroke-width="1.8" points="959.45,-963.41 969.71,-966.03 963.32,-957.58 959.45,-963.41"/>
<text xml:space="preserve" text-anchor="middle" x="825.35" y="-673.65" font-family="Sans-Serif" font-size="13.00" fill="#2d3436">指定表 / 字段只读</text>
</g>
<!-- 16645ab788e94fef923a94e81cca369c -->
<g id="node7" class="node">
<title>16645ab788e94fef923a94e81cca369c</title>
<image xlink:href="/private/tmp/a-card-diagrams-v01/lib/python3.14/site-packages/resources/generic/storage/storage.png" width="100.8px" height="100.8px" preserveAspectRatio="xMinYMin meet" x="971.825" y="-833.4"/>
<text xml:space="preserve" text-anchor="middle" x="1022.23" y="-721.25" font-family="PingFang SC" font-size="11.00" fill="#2d3436">对象存储 + storage_objects</text>
<text xml:space="preserve" text-anchor="middle" x="1022.23" y="-705.5" font-family="PingFang SC" font-size="11.00" fill="#2d3436">文件本体与平台资源</text>
</g>
<!-- 9aabb7a0ed52461f9dcc185116311d37&#45;&gt;16645ab788e94fef923a94e81cca369c -->
<g id="edge7" class="edge">
<title>9aabb7a0ed52461f9dcc185116311d37&#45;&gt;16645ab788e94fef923a94e81cca369c</title>
<path fill="none" stroke="#8b6fc4" stroke-dasharray="5,2" d="M655.3,-540C726.81,-548.33 854.02,-567.55 883.85,-601.25 895.67,-614.6 884.21,-665.4 892.85,-681 908.88,-709.94 936.82,-733.63 962.54,-750.87"/>
<polygon fill="#8b6fc4" stroke="#8b6fc4" points="960.33,-753.6 970.63,-756.1 964.14,-747.73 960.33,-753.6"/>
<text xml:space="preserve" text-anchor="middle" x="825.35" y="-607.65" font-family="Sans-Serif" font-size="13.00" fill="#2d3436">复用文件服务</text>
</g>
<!-- 9aabb7a0ed52461f9dcc185116311d37&#45;&gt;aa5be898225c4a13839eb1bf2df335f2 -->
<g id="edge9" class="edge">
<title>9aabb7a0ed52461f9dcc185116311d37&#45;&gt;aa5be898225c4a13839eb1bf2df335f2</title>
<path fill="none" stroke="#3f9ad0" stroke-dasharray="5,2" d="M655.25,-533.17C687.09,-532.08 729.41,-530.8 766.85,-530.25 818.84,-529.48 831.86,-529.35 883.85,-530.25 908.97,-530.68 936.66,-531.56 960.56,-532.45"/>
<polygon fill="#3f9ad0" stroke="#3f9ad0" points="960.32,-535.94 970.45,-532.83 960.59,-528.95 960.32,-535.94"/>
<text xml:space="preserve" text-anchor="middle" x="825.35" y="-536.65" font-family="Sans-Serif" font-size="13.00" fill="#2d3436">只读已发布修订</text>
</g>
<!-- c96300e2e41e48dd97521fa7cb378d72 -->
<g id="node9" class="node">
<title>c96300e2e41e48dd97521fa7cb378d72</title>
<image xlink:href="/private/tmp/a-card-diagrams-v01/lib/python3.14/site-packages/resources/onprem/database/mysql.png" width="100.8px" height="100.8px" preserveAspectRatio="xMinYMin meet" x="971.825" y="-374.4"/>
<text xml:space="preserve" text-anchor="middle" x="1022.23" y="-262.25" font-family="PingFang SC" font-size="11.00" fill="#2d3436">15 张运维业务表</text>
<text xml:space="preserve" text-anchor="middle" x="1022.23" y="-246.5" font-family="PingFang SC" font-size="11.00" fill="#2d3436">判级 / 处理 / 报告 / 流程</text>
</g>
<!-- 9aabb7a0ed52461f9dcc185116311d37&#45;&gt;c96300e2e41e48dd97521fa7cb378d72 -->
<g id="edge10" class="edge">
<title>9aabb7a0ed52461f9dcc185116311d37&#45;&gt;c96300e2e41e48dd97521fa7cb378d72</title>
<path fill="none" stroke="#3f9ad0" stroke-width="2.2" d="M655.24,-509.97C731.41,-471.26 877.6,-396.98 960.3,-354.96"/>
<polygon fill="#3f9ad0" stroke="#3f9ad0" stroke-width="2.2" points="961.73,-358.16 969.06,-350.51 958.55,-351.92 961.73,-358.16"/>
<text xml:space="preserve" text-anchor="middle" x="825.35" y="-454.8" font-family="Sans-Serif" font-size="13.00" fill="#2d3436">业务读写</text>
</g>
<!-- bcaf3960a54f41b9bc84a892ea5cb7bb -->
<g id="node10" class="node">
<title>bcaf3960a54f41b9bc84a892ea5cb7bb</title>
<image xlink:href="/private/tmp/a-card-diagrams-v01/lib/python3.14/site-packages/resources/programming/flowchart/database.png" width="100.8px" height="100.8px" preserveAspectRatio="xMinYMin meet" x="971.825" y="-163.4"/>
<text xml:space="preserve" text-anchor="middle" x="1022.23" y="-51.25" font-family="PingFang SC" font-size="11.00" fill="#2d3436">ops_outbox_events</text>
<text xml:space="preserve" text-anchor="middle" x="1022.23" y="-35.5" font-family="PingFang SC" font-size="11.00" fill="#2d3436">运维库独立事件流</text>
</g>
<!-- 9aabb7a0ed52461f9dcc185116311d37&#45;&gt;bcaf3960a54f41b9bc84a892ea5cb7bb -->
<g id="edge11" class="edge">
<title>9aabb7a0ed52461f9dcc185116311d37&#45;&gt;bcaf3960a54f41b9bc84a892ea5cb7bb</title>
<path fill="none" stroke="#e0902f" stroke-dasharray="5,2" d="M655.17,-475.89C710.51,-410.6 804.26,-303.53 892.85,-219 914.91,-197.95 940.59,-176.25 963.16,-158.01"/>
<polygon fill="#e0902f" stroke="#e0902f" points="965.18,-160.87 970.79,-151.88 960.8,-155.41 965.18,-160.87"/>
<text xml:space="preserve" text-anchor="middle" x="825.35" y="-351.4" font-family="Sans-Serif" font-size="13.00" fill="#2d3436">同事务写事件</text>
</g>
<!-- 2b9a60d3180746c5a0ebb4649ddfd854 -->
<g id="node11" class="node">
<title>2b9a60d3180746c5a0ebb4649ddfd854</title>
<image xlink:href="/private/tmp/a-card-diagrams-v01/lib/python3.14/site-packages/resources/programming/flowchart/predefined-process.png" width="100.8px" height="100.8px" preserveAspectRatio="xMinYMin meet" x="1296.95" y="-163.4"/>
<text xml:space="preserve" text-anchor="middle" x="1347.35" y="-51.25" font-family="PingFang SC" font-size="11.00" fill="#2d3436">Schedule Executor</text>
<text xml:space="preserve" text-anchor="middle" x="1347.35" y="-35.5" font-family="PingFang SC" font-size="11.00" fill="#2d3436">增加运维库 Outbox 轮询</text>
</g>
<!-- bcaf3960a54f41b9bc84a892ea5cb7bb&#45;&gt;2b9a60d3180746c5a0ebb4649ddfd854 -->
<g id="edge12" class="edge">
<title>bcaf3960a54f41b9bc84a892ea5cb7bb&#45;&gt;2b9a60d3180746c5a0ebb4649ddfd854</title>
<path fill="none" stroke="#e0902f" stroke-width="1.8" stroke-dasharray="5,2" d="M1072.3,-113C1129.08,-113 1222.67,-113 1284.41,-113"/>
<polygon fill="#e0902f" stroke="#e0902f" stroke-width="1.8" points="1284.35,-116.5 1294.35,-113 1284.35,-109.5 1284.35,-116.5"/>
<text xml:space="preserve" text-anchor="middle" x="1192.73" y="-119.4" font-family="Sans-Serif" font-size="13.00" fill="#2d3436">轮询 / 重试</text>
</g>
</g>
</svg>