init
This commit is contained in:
@@ -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 |
Reference in New Issue
Block a user