-
画一张基于Spring Cloud的通用技术架构图,部署环境仍然腾讯云
-
请提供可导入到draw.io的xml数据格式
-
value内的值必须做htmlencode操作,比如value="嘻嘻嘻<div>(fds)</div><div>犯得上发射点</div>";
-
mxGeometry 必须带有as="geometry"属性,否则导入报错。
-
关于value中的回车,应该采用 
 而不是 <div>
输出的xml
<mxfile host="app.diagrams.net">
<diagram name="Spring Cloud架构-腾讯云" id="6mJhpWX3ja7n-3-5J0y3">
<mxGraphModel dx="1642" dy="882" 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="client" value="客户端
(Web/App)" style="shape=cloud;fontSize=12;fillColor=#ffffff;" vertex="1" parent="1">
<mxGeometry as="geometry" x="80" y="200" width="120" height="80"/>
</mxCell>
<!-- 腾讯云CLB -->
<mxCell id="clb" value="腾讯云CLB
(HTTPS/WebSocket)" style="swimlane;fontSize=12;fillColor=#DAE8FC;strokeColor=#6C8EBF;" vertex="1" parent="1">
<mxGeometry as="geometry" x="280" y="180" width="160" height="100"/>
</mxCell>
<!-- Spring Cloud Gateway -->
<mxCell id="gateway" value="Spring Cloud Gateway
(API网关集群)" style="rounded=1;whiteSpace=wrap;fontSize=12;fillColor=#FFF2CC;strokeColor=#D6B656;" vertex="1" parent="1">
<mxGeometry as="geometry" x="500" y="100" width="150" height="80"/>
</mxCell>
<!-- 微服务层 -->
<mxCell id="service1" value="用户服务
(Spring Boot)" style="shape=cylinder;whiteSpace=wrap;fontSize=12;fillColor=#D5E8D4;strokeColor=#82B366;" vertex="1" parent="1">
<mxGeometry as="geometry" x="720" y="40" width="120" height="60"/>
</mxCell>
<mxCell id="service2" value="订单服务
(Spring Boot)" style="shape=cylinder;whiteSpace=wrap;fontSize=12;fillColor=#D5E8D4;strokeColor=#82B366;" vertex="1" parent="1">
<mxGeometry as="geometry" x="720" y="140" width="120" height="60"/>
</mxCell>
<!-- 中间件层 -->
<mxCell id="nacos" value="Nacos集群
(服务注册中心)" style="shape=parallelogram;whiteSpace=wrap;fontSize=12;fillColor=#E1D5E7;strokeColor=#9673A6;" vertex="1" parent="1">
<mxGeometry as="geometry" x="500" y="240" width="150" height="60"/>
</mxCell>
<mxCell id="redis" value="TencentDB for Redis
(缓存/分布式锁)" style="shape=cylinder3;whiteSpace=wrap;fontSize=12;fillColor=#FFE6CC;strokeColor=#D79B01;" vertex="1" parent="1">
<mxGeometry as="geometry" x="900" y="40" width="140" height="80"/>
</mxCell>
<mxCell id="mysql" value="TencentDB for MySQL
(主从架构)" style="shape=cylinder3;whiteSpace=wrap;fontSize=12;fillColor=#D5E8D4;strokeColor=#82B366;" vertex="1" parent="1">
<mxGeometry as="geometry" x="900" y="160" width="140" height="80"/>
</mxCell>
<!-- 监控层 -->
<mxCell id="monitor" value="监控告警体系
(Prometheus+Grafana)" style="shape=document;whiteSpace=wrap;fontSize=12;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="1">
<mxGeometry as="geometry" x="500" y="340" width="150" height="60"/>
</mxCell>
<!-- 连接线 -->
<mxCell id="e1" value="" style="endArrow=classic;html=1;" edge="1" parent="1" source="client" target="clb">
<mxGeometry as="geometry"/>
</mxCell>
<mxCell id="e2" value="负载均衡" style="endArrow=classic;html=1;labelBackgroundColor=#ffffff;" edge="1" parent="1" source="clb" target="gateway">
<mxGeometry as="geometry"/>
</mxCell>
<mxCell id="e3" value="服务发现" style="endArrow=classic;html=1;dashed=1;labelBackgroundColor=#ffffff;" edge="1" parent="1" source="gateway" target="nacos">
<mxGeometry as="geometry"/>
</mxCell>
<mxCell id="e4" value="API路由" style="endArrow=classic;html=1;labelBackgroundColor=#ffffff;" edge="1" parent="1" source="gateway" target="service1">
<mxGeometry as="geometry"/>
</mxCell>
<mxCell id="e5" value="" style="endArrow=classic;html=1;" edge="1" parent="1" source="gateway" target="service2">
<mxGeometry as="geometry"/>
</mxCell>
<mxCell id="e6" value="数据访问" style="endArrow=classic;html=1;labelBackgroundColor=#ffffff;" edge="1" parent="1" source="service1" target="mysql">
<mxGeometry as="geometry"/>
</mxCell>
<mxCell id="e7" value="缓存读写" style="endArrow=classic;html=1;labelBackgroundColor=#ffffff;" edge="1" parent="1" source="service2" target="redis">
<mxGeometry as="geometry"/>
</mxCell>
<mxCell id="e8" value="指标采集" style="endArrow=classic;html=1;dashed=1;labelBackgroundColor=#ffffff;" edge="1" parent="1" source="service1" target="monitor">
<mxGeometry as="geometry"/>
</mxCell>
</mxGraphModel>
</diagram>
</mxfile>
