OTIV 서비스 외부/내부 매핑 분리
🎯 핵심 개념
OTIV 서비스는 외부 접근과 내부 통신을 분리하여 처리합니다.
📋 URL 매핑 테이블
| 서비스 | 내부 통신 (클러스터) | 외부 접근 (브라우저) |
|---|---|---|
| Asset | http://otiv-asset |
https://ecmsvr25-asset.pentasystem.kr |
| Highlight | http://otiv-highlight |
https://ecmsvr25-highlight.pentasystem.kr |
| Markup | http://otiv-markup |
https://ecmsvr25-markup.pentasystem.kr |
| Publication | http://otiv-publication |
https://ecmsvr25-publication.pentasystem.kr |
| Viewer | http://otiv-viewer |
https://ecmsvr25-viewer.pentasystem.kr |
⚙️ 설정 구조
1. 외부 접근 설정 (Ingress 매핑)
global:
ingressEnabled: true
ingressDomainName: "pentasystem.kr"
ingressOtivAsset: ecmsvr25-asset
ingressOtivHighlight: ecmsvr25-highlight
ingressOtivMarkup: ecmsvr25-markup
ingressOtivPublication: ecmsvr25-publication
ingressOtivViewer: ecmsvr25-viewer
2. 내부 통신 설정 (Service Discovery)
otiv:
ingress:
enabled: true
otcs:
publicationServiceUrl: http://otiv-publication
highlightServiceUrl: http://otiv-highlight
viewerServiceUrl: http://otiv-viewer
markupServiceUrl: http://otiv-markup
assetServiceUrl: http://otiv-asset
🔄 동작 흐름
브라우저 → 서비스
사용자 브라우저
→ https://ecmsvr25-viewer.pentasystem.kr
→ Nginx Ingress
→ otiv-viewer Service
서비스 → 서비스
otiv-viewer
→ http://otiv-asset
→ otiv-asset Service (직접 통신)
✅ 장점
| 구분 | 내부 통신 | 외부 접근 |
|---|---|---|
| 프로토콜 | HTTP (빠름) | HTTPS (보안) |
| 경로 | 직접 연결 | Ingress 경유 |
| 용도 | 서비스 간 API | 사용자 접근 |
| 성능 | ⚡ 고속 | 🔒 안전 |
🎨 템플릿 처리
Helm 템플릿이 자동으로 URL을 생성합니다:
# ConfigMap에서 생성되는 환경변수
PUBLICATION_SERVICE_ORIGIN: "https://ecmsvr25-publication.pentasystem.kr"
ASSET_SERVICE_URL: "http://otiv-asset"
🚀 결론
한 번의 설정으로 두 가지 통신 방식을 모두 지원: - 🌐 외부: HTTPS로 안전한 브라우저 접근 - ⚡ 내부: HTTP로 빠른 서비스 간 통신