82 lines
11 KiB
XML
82 lines
11 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<svg xmlns="http://www.w3.org/2000/svg" width="1440" height="650" viewBox="0 0 1440 650" role="img" aria-labelledby="title desc">
|
|
<title id="title">Localization pipeline</title>
|
|
<desc id="desc">BFF 사용자 요청 처리와 worker·queue·translator 기반 번역 적재 파이프라인을 두 경계로 나눈 구조.</desc>
|
|
<metadata>{"generator":"examples/build_examples.py","version":"0.3.0","canvas_policy":"diagram-only","decorative_effects":false}</metadata>
|
|
<defs>
|
|
<marker id="arrow-ink" markerWidth="10" markerHeight="8" refX="9" refY="4" orient="auto" markerUnits="strokeWidth"><path d="M 0 0 L 10 4 L 0 8 z" fill="#24272B"/></marker>
|
|
<marker id="arrow-muted" markerWidth="10" markerHeight="8" refX="9" refY="4" orient="auto" markerUnits="strokeWidth"><path d="M 0 0 L 10 4 L 0 8 z" fill="#667085"/></marker>
|
|
<marker id="arrow-blue" markerWidth="10" markerHeight="8" refX="9" refY="4" orient="auto" markerUnits="strokeWidth"><path d="M 0 0 L 10 4 L 0 8 z" fill="#1677FF"/></marker>
|
|
<marker id="arrow-green" markerWidth="10" markerHeight="8" refX="9" refY="4" orient="auto" markerUnits="strokeWidth"><path d="M 0 0 L 10 4 L 0 8 z" fill="#00A86B"/></marker>
|
|
<marker id="arrow-red" markerWidth="10" markerHeight="8" refX="9" refY="4" orient="auto" markerUnits="strokeWidth"><path d="M 0 0 L 10 4 L 0 8 z" fill="#D94B4B"/></marker>
|
|
<marker id="arrow-purple" markerWidth="10" markerHeight="8" refX="9" refY="4" orient="auto" markerUnits="strokeWidth"><path d="M 0 0 L 10 4 L 0 8 z" fill="#7556D8"/></marker>
|
|
<marker id="arrow-white" markerWidth="10" markerHeight="8" refX="9" refY="4" orient="auto" markerUnits="strokeWidth"><path d="M 0 0 L 10 4 L 0 8 z" fill="#FFFFFF"/></marker>
|
|
<marker id="arrow-yellow" markerWidth="10" markerHeight="8" refX="9" refY="4" orient="auto" markerUnits="strokeWidth"><path d="M 0 0 L 10 4 L 0 8 z" fill="#E7C51D"/></marker>
|
|
</defs>
|
|
<rect width="1440" height="650" fill="#FFFFFF"/>
|
|
<rect x="35" y="45" width="665" height="545" fill="#FFFDF7" stroke="#C9BFA5" stroke-width="1.3" rx="10" />
|
|
<rect x="42" y="37" width="302.8" height="20" fill="#FFFFFF" rx="2" />
|
|
<text x="49" y="50" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="11" font-weight="600" fill="#424242" text-anchor="start">Backend BFF Handling · 사용자 요청 및 서비스 레이어</text>
|
|
<rect x="745" y="45" width="660" height="545" fill="#FFFDF7" stroke="#C9BFA5" stroke-width="1.3" rx="10" />
|
|
<rect x="752" y="37" width="290.3" height="20" fill="#FFFFFF" rx="2" />
|
|
<text x="759" y="50" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="11" font-weight="600" fill="#424242" text-anchor="start">Translation Pipeline · 데이터 번역 및 적재 레이어</text>
|
|
<rect x="70" y="220" width="90" height="175" fill="#FFFDF7" stroke="#4A4A47" stroke-width="1.7" rx="10" />
|
|
<path d="M 82 242 L 148 242" fill="none" stroke="#4A4A47" stroke-width="1.1" stroke-linecap="round" stroke-linejoin="round" />
|
|
<path d="M 82 369 L 148 369" fill="none" stroke="#4A4A47" stroke-width="1.1" stroke-linecap="round" stroke-linejoin="round" />
|
|
<circle cx="115" cy="382" r="3" fill="#4A4A47" />
|
|
<text x="115" y="305" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="15" font-weight="700" fill="#24272B" text-anchor="middle">배민앱</text>
|
|
<text x="115" y="425" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="11" font-weight="500" fill="#667085" text-anchor="middle">Accept-Language 헤더</text>
|
|
<rect x="245" y="120" width="220" height="120" fill="#FBFBF8" stroke="#5D6268" stroke-width="1.5" rx="3" />
|
|
<text x="355" y="144" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="14" font-weight="700" fill="#24272B" text-anchor="middle">목록 / 상세</text>
|
|
<rect x="265" y="160" width="36" height="16" fill="#EFEFE9" stroke="#8A8F95" stroke-width="0.8" rx="2" />
|
|
<path d="M 313 167 L 435 167" fill="none" stroke="#858A90" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" />
|
|
<path d="M 313 174 L 400 174" fill="none" stroke="#B0B4B8" stroke-width="0.9" stroke-linecap="round" stroke-linejoin="round" />
|
|
<rect x="265" y="183" width="36" height="16" fill="#EFEFE9" stroke="#8A8F95" stroke-width="0.8" rx="2" />
|
|
<path d="M 313 190 L 435 190" fill="none" stroke="#858A90" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" />
|
|
<path d="M 313 197 L 400 197" fill="none" stroke="#B0B4B8" stroke-width="0.9" stroke-linecap="round" stroke-linejoin="round" />
|
|
<rect x="265" y="206" width="36" height="16" fill="#EFEFE9" stroke="#8A8F95" stroke-width="0.8" rx="2" />
|
|
<path d="M 313 213 L 435 213" fill="none" stroke="#858A90" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" />
|
|
<path d="M 313 220 L 400 220" fill="none" stroke="#B0B4B8" stroke-width="0.9" stroke-linecap="round" stroke-linejoin="round" />
|
|
<rect x="245" y="350" width="220" height="120" fill="#FBFBF8" stroke="#5D6268" stroke-width="1.5" rx="3" />
|
|
<text x="355" y="374" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="14" font-weight="700" fill="#24272B" text-anchor="middle">장바구니 / 주문</text>
|
|
<rect x="265" y="390" width="36" height="16" fill="#EFEFE9" stroke="#8A8F95" stroke-width="0.8" rx="2" />
|
|
<path d="M 313 397 L 435 397" fill="none" stroke="#858A90" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" />
|
|
<path d="M 313 404 L 400 404" fill="none" stroke="#B0B4B8" stroke-width="0.9" stroke-linecap="round" stroke-linejoin="round" />
|
|
<rect x="265" y="413" width="36" height="16" fill="#EFEFE9" stroke="#8A8F95" stroke-width="0.8" rx="2" />
|
|
<path d="M 313 420 L 435 420" fill="none" stroke="#858A90" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" />
|
|
<path d="M 313 427 L 400 427" fill="none" stroke="#B0B4B8" stroke-width="0.9" stroke-linecap="round" stroke-linejoin="round" />
|
|
<rect x="265" y="436" width="36" height="16" fill="#EFEFE9" stroke="#8A8F95" stroke-width="0.8" rx="2" />
|
|
<path d="M 313 443 L 435 443" fill="none" stroke="#858A90" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" />
|
|
<path d="M 313 450 L 400 450" fill="none" stroke="#B0B4B8" stroke-width="0.9" stroke-linecap="round" stroke-linejoin="round" />
|
|
<text x="355" y="260" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="12" font-weight="600" fill="#24272B" text-anchor="middle">다국어 정책 화면</text>
|
|
<text x="355" y="490" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="12" font-weight="600" fill="#24272B" text-anchor="middle">다국어 정책 화면</text>
|
|
<polygon points="555,205 641,205 665,229 665,425 555,425" fill="#FFFDF7" stroke="#4A4A47" stroke-width="2.2" />
|
|
<path d="M 641 205 L 641 229 L 665 229" fill="none" stroke="#4A4A47" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" />
|
|
<text x="610" y="325" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="25" font-weight="700" fill="#24272B" text-anchor="middle">FDH</text>
|
|
<path d="M 160 275 L 245 205" fill="none" stroke="#4A4A47" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arrow-ink)" />
|
|
<path d="M 160 340 L 245 410" fill="none" stroke="#4A4A47" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arrow-ink)" />
|
|
<path d="M 465 180 L 555 260" fill="none" stroke="#4A4A47" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arrow-ink)" />
|
|
<rect x="468.9" y="182" width="72.3" height="20" fill="#FFFDF7" rx="2" />
|
|
<text x="505" y="195" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="11" font-weight="600" fill="#24272B" text-anchor="middle">lang param</text>
|
|
<path d="M 465 410 L 555 365" fill="none" stroke="#4A4A47" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arrow-ink)" />
|
|
<rect x="468.9" y="379" width="72.3" height="20" fill="#FFFDF7" rx="2" />
|
|
<text x="505" y="392" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="11" font-weight="600" fill="#24272B" text-anchor="middle">lang param</text>
|
|
<rect x="820" y="110" width="150" height="65" fill="#FFFDF7" stroke="#4A4A47" stroke-width="1.5" rx="8" />
|
|
<text x="895" y="147.5" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="15" font-weight="700" fill="#24272B" text-anchor="middle">가게 / 메뉴</text>
|
|
<rect x="985" y="225" width="170" height="82" fill="#FFFDF7" stroke="#4A4A47" stroke-width="1.7" rx="8" />
|
|
<text x="1070" y="271" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="16" font-weight="700" fill="#24272B" text-anchor="middle">FDH Worker</text>
|
|
<rect x="1210" y="235" width="135" height="62" fill="#FFFDF7" stroke="#4A4A47" stroke-width="1.6" rx="8" />
|
|
<text x="1277.5" y="271" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="16" font-weight="700" fill="#24272B" text-anchor="middle">Queue</text>
|
|
<rect x="985" y="410" width="170" height="82" fill="#FFFDF7" stroke="#4A4A47" stroke-width="1.7" rx="8" />
|
|
<text x="1070" y="456" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="16" font-weight="700" fill="#24272B" text-anchor="middle">LLM Translator</text>
|
|
<path d="M 895 175 L 1050 225" fill="none" stroke="#4A4A47" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arrow-ink)" />
|
|
<rect x="946.5" y="175" width="47" height="20" fill="#FFFDF7" rx="2" />
|
|
<text x="970" y="188" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="11" font-weight="600" fill="#24272B" text-anchor="middle">이벤트</text>
|
|
<path d="M 1155 260 C 1180 260, 1185 260, 1210 260" fill="none" stroke="#4A4A47" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arrow-ink)" />
|
|
<path d="M 1277 297 C 1295 360, 1230 445, 1155 451" fill="none" stroke="#4A4A47" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arrow-ink)" />
|
|
<path d="M 985 451 C 900 451, 900 320, 985 267" fill="none" stroke="#4A4A47" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arrow-ink)" />
|
|
<text x="1070" y="360" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="13" font-weight="600" fill="#24272B" text-anchor="middle">LLM 기반 자동 번역</text>
|
|
<path d="M 985 267 L 665 315" fill="none" stroke="#4A4A47" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arrow-ink)" />
|
|
<rect x="780.9" y="271" width="78.2" height="21" fill="#FFFDF7" rx="2" />
|
|
<text x="820" y="285" font-family='"Noto Sans CJK KR", "Apple SD Gothic Neo", sans-serif' font-size="12" font-weight="600" fill="#24272B" text-anchor="middle">다국어 적재</text>
|
|
</svg> |