Skip to content

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로 빠른 서비스 간 통신