Files
document-haness/docs/keycloak-session-store/final/assets/d4a-hook-effect/d4a-hook-effect.drawio
T

39 lines
3.5 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<mxfile host="app.diagrams.net" modified="2026-07-23T00:00:00.000Z" agent="techviz-harness" version="24.7.17" type="device">
<diagram id="d4a-hook-effect" name="훅 하나가 만드는 차이">
<mxGraphModel dx="680" dy="1264" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1264" math="0" shadow="0">
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<mxCell id="n_renew" value="certbot 갱신 성공" tooltip="archive 에 쓰고 live 링크를 옮긴다. | Evidence: L1077-L1088" style="whiteSpace=wrap;html=1;rounded=1;strokeWidth=2;fontSize=14;fontStyle=1;fillColor=#ffffff;strokeColor=#2d4357;verticalAlign=middle;strokeColor=#2563eb;strokeWidth=2;" vertex="1" parent="1">
<mxGeometry x="38.5" y="145.0" width="150.0" height="64.0" as="geometry"/>
</mxCell>
<mxCell id="n_hook" value="deploy 훅&lt;br/&gt;nginx -t &amp;&amp; nginx -s reload" tooltip="갱신이 실제로 일어났을 때만 실행된다. | Evidence: L1077-L1092" style="whiteSpace=wrap;html=1;rounded=1;strokeWidth=2;fontSize=14;fontStyle=1;fillColor=#ffffff;strokeColor=#2d4357;verticalAlign=middle;strokeColor=#2563eb;strokeWidth=2;" vertex="1" parent="1">
<mxGeometry x="35.0" y="455.0" width="223.0" height="71.0" as="geometry"/>
</mxCell>
<mxCell id="n_worker" value="nginx 워커 교체&lt;br/&gt;28829 → 37252" tooltip="마스터는 유지되고 워커만 새로 뜬다. | Evidence: L1089-L1097" style="whiteSpace=wrap;html=1;rounded=1;strokeWidth=2;fontSize=14;fontStyle=1;fillColor=#ffffff;strokeColor=#2d4357;verticalAlign=middle;strokeColor=#2563eb;strokeWidth=2;" vertex="1" parent="1">
<mxGeometry x="35.0" y="838.0" width="150.0" height="71.0" as="geometry"/>
</mxCell>
<mxCell id="n_serving" value="새 인증서 서빙&lt;br/&gt;훅 없음 2305초 · 훅 있음 1~2초" tooltip="훅이 없으면 사람이 칠 때까지 옛 것이다. | Evidence: L1077-L1097" style="whiteSpace=wrap;html=1;rounded=1;strokeWidth=2;fontSize=14;fontStyle=1;fillColor=#ffffff;strokeColor=#2d4357;verticalAlign=middle;strokeColor=#2563eb;strokeWidth=2;" vertex="1" parent="1">
<mxGeometry x="35.0" y="1148.0" width="188.0" height="71.0" as="geometry"/>
</mxCell>
<mxCell id="e_h-w" value="reload 신호" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=2;endArrow=block;endFill=1;" edge="1" parent="1" source="n_hook" target="n_worker">
<mxGeometry relative="1" as="geometry">
<mxPoint x="128.2" y="654.0" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="e_r-h" value="갱신 성공 시 호출" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=2;endArrow=block;endFill=1;" edge="1" parent="1" source="n_renew" target="n_hook">
<mxGeometry relative="1" as="geometry">
<mxPoint x="130.0" y="304.0" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="e_w-s" value="새 인증서 적재" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=2;endArrow=block;endFill=1;" edge="1" parent="1" source="n_worker" target="n_serving">
<mxGeometry relative="1" as="geometry">
<mxPoint x="119.5" y="1000.5" as="offset"/>
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>