This commit is contained in:
2026-06-25 11:46:39 +09:00
commit 06a95a6d5b
56 changed files with 10023 additions and 0 deletions
@@ -0,0 +1,69 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 680" font-family="Helvetica, Arial, sans-serif">
<defs>
<marker id="arr" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="6" markerHeight="6" orient="auto">
<path d="M0,0 L10,5 L0,10 z" fill="#37474f"/>
</marker>
<linearGradient id="g1" x1="0" x2="0" y1="0" y2="1">
<stop offset="0%" stop-color="#fff3e0"/>
<stop offset="100%" stop-color="#ffe0b2"/>
</linearGradient>
<linearGradient id="g2" x1="0" x2="0" y1="0" y2="1">
<stop offset="0%" stop-color="#e0f7fa"/>
<stop offset="100%" stop-color="#b2ebf2"/>
</linearGradient>
</defs>
<text x="600" y="32" text-anchor="middle" font-size="20" font-weight="700" fill="#102a43">2계층 통신 제어 (2-Layer Governance)</text>
<text x="600" y="55" text-anchor="middle" font-size="13" fill="#486581">인프라(Service Mesh) + 애플리케이션(gRPC Interceptor) 관심사 분리</text>
<!-- Request inflow arrow -->
<text x="40" y="120" font-size="13" font-weight="700" fill="#102a43">Request</text>
<text x="40" y="138" font-size="13" font-weight="700" fill="#102a43">Inflow</text>
<line x1="100" y1="125" x2="540" y2="125" stroke="#37474f" stroke-width="3" marker-end="url(#arr)"/>
<!-- Layer 1: Service Mesh -->
<rect x="120" y="160" width="960" height="160" rx="10" fill="url(#g1)" stroke="#e65100" stroke-width="2"/>
<text x="150" y="195" font-size="16" font-weight="700" fill="#bf360c">1계층 — Service Mesh (Envoy Proxy · Infrastructure)</text>
<text x="150" y="222" font-size="12" fill="#102a43">인프라 트래픽 수송 통제 및 전송 레벨 신뢰 체계 구축</text>
<g font-size="12" fill="#102a43">
<text x="150" y="252"><tspan font-weight="600">mTLS 종단</tspan> (SPIFFE SVID 검증)</text>
<text x="150" y="274"><tspan font-weight="600">카나리 / 블루-그린</tspan> 라우팅</text>
<text x="150" y="296"><tspan font-weight="600">서킷 브레이커</tspan> (에이전트 다운 시 차단)</text>
<text x="640" y="252"><tspan font-weight="600">글로벌 Rate Limiting</tspan> (Envoy + RLS)</text>
<text x="640" y="274"><tspan font-weight="600">xDS Light</tspan>로 T2 게이트웨이에 정책 push</text>
<text x="640" y="296"><tspan font-weight="600">Load Balancing</tspan> (eBPF / XDS)</text>
</g>
<!-- Vertical arrow -->
<line x1="600" y1="320" x2="600" y2="355" stroke="#37474f" stroke-width="2.5" marker-end="url(#arr)"/>
<text x="615" y="345" font-size="11" fill="#486581">to Pod / Local Container Loopback</text>
<!-- Layer 2: Interceptor -->
<rect x="120" y="365" width="960" height="160" rx="10" fill="url(#g2)" stroke="#00838f" stroke-width="2"/>
<text x="150" y="400" font-size="16" font-weight="700" fill="#006064">2계층 — gRPC Interceptor (Application · Business Logic)</text>
<text x="150" y="427" font-size="12" fill="#102a43">비즈니스 내부 및 데이터 페이로드 검증</text>
<g font-size="12" fill="#102a43">
<text x="150" y="457"><tspan font-weight="600">Payload Validation</tspan> (프롬프트 인젝션 필터)</text>
<text x="150" y="479"><tspan font-weight="600">디바이스 컨텍스트 전파</tspan> (battery, link-quality)</text>
<text x="150" y="501"><tspan font-weight="600">비즈니스 AuthZ</tspan> (테넌트 Claims 검증)</text>
<text x="640" y="457"><tspan font-weight="600">Resume Token 발급</tspan> (단절-재접속 이어받기)</text>
<text x="640" y="479"><tspan font-weight="600">W3C Traceparent</tspan> 주입·전파</text>
<text x="640" y="501"><tspan font-weight="600">Deadline 강제 주입</tspan></text>
</g>
<!-- Vertical arrow -->
<line x1="600" y1="525" x2="600" y2="560" stroke="#37474f" stroke-width="2.5" marker-end="url(#arr)"/>
<!-- Destination -->
<rect x="450" y="565" width="300" height="50" rx="8" fill="#102a43"/>
<text x="600" y="595" text-anchor="middle" font-size="15" font-weight="700" fill="#fff">Agent Core Code (Python / Go / Rust)</text>
<!-- Right side annotation -->
<text x="1100" y="200" text-anchor="end" font-size="11" font-style="italic" fill="#bf360c">infra-team owned</text>
<text x="1100" y="405" text-anchor="end" font-size="11" font-style="italic" fill="#006064">app-team owned</text>
<text x="1100" y="595" text-anchor="end" font-size="11" font-style="italic" fill="#102a43">agent owner</text>
<!-- bottom note -->
<text x="600" y="650" text-anchor="middle" font-size="11" font-style="italic" fill="#486581">관심사 분리로 인프라 변경 없이 비즈니스 정책 진화, 그 반대도 가능 (Decoupling)</text>
</svg>

After

Width:  |  Height:  |  Size: 4.6 KiB