T
TechInsights
목록으로
BackEnd•2025. 11. 21.

Central Dogma 컨트롤 플레인으로 LY Corporation의 수천 개 서비스를 연결하기

라인
라인 Engineering Team
Central Dogma 컨트롤 플레인으로 LY Corporation의 수천 개 서비스를 연결하기

핵심요약

원문 보기

LY Corporation은 Central Dogma 컨트롤 플레인을 구축하여 수천 개의 이종 서비스를 연결하고, 기존 레거시 시스템의 한계를 극복했습니다. 이 시스템은 xDS 프로토콜을 지원하며, 나아가 사이드카 없는 Armeria 기반 서비스 메시로 개선하여 배포 단순화와 성능 향상을 이루었습니다.

Central Dogma 컨트롤 플레인: LY Corporation 서비스 연결 및 개선

Central Dogma 컨트롤 플레인 아키텍처 및 문제 해결

  • 컨트롤 플레인은 서비스 간 트래픽 정책을 중앙에서 관리하고 데이터 플레인에 동적으로 전달하는 핵심 컴포넌트입니다.
  • Central Dogma는 Git 기반의 텍스트 설정 저장소로, UI를 통한 설정 관리, GitOps 미러링, 고신뢰성 복제 기능을 제공합니다.
  • 레거시 컨트롤 플레인은 **PMC(Project Management Tool)**에 결합되어 실시간 변경이 어렵고 쿠버네티스 지원이 불가능했으며, 자체 커스텀 메시지 스키마를 사용하여 xDS 프로토콜과 호환되지 않는 문제가 있었습니다.
  • 새로운 Central Dogma 컨트롤 플레인은 PMC, 쿠버네티스 엔드포인트 플러그인, 동적 등록 API를 통해 다양한 환경의 서비스 정보를 xDS 리소스 형태로 통합 관리합니다.
  • Central Dogma의 플러그인 시스템을 활용하여 레거시 프로퍼티를 xDS 메타데이터(예: jp.co.lycorp)로 변환하고, 이를 통해 접근 제어, 로드 밸런싱, 존 인식 라우팅 등의 고급 기능을 가능하게 합니다.

사이드카 없는 서비스 메시로의 진화

  • 기존 사이드카 기반 서비스 메시는 Envoy 사이드카 프록시를 통해 mTLS, 고급 로드 밸런싱을 제공하지만, 외부 통신 시 복잡성과 추가 홉을 발생시킵니다.
  • Envoy 사이드카 프록시를 제거하고 애플리케이션이 직접 컨트롤 플레인으로부터 설정을 받아오는 사이드카 없는 서비스 메시 모델을 제안합니다.
  • LY Corporation 내부에서 사용하는 Armeria 마이크로서비스 프레임워크를 데이터 플레인으로 활용하여, xDS 프로토콜 기반의 동적 라우팅 및 정책 적용을 구현했습니다.
  • Armeria 클라이언트는 xDS Bootstrap 설정을 통해 컨트롤 플레인에 연결하고, 특정 **리소스(예: my-listener)**에 정의된 라우팅 정책을 자동으로 따릅니다.
  • 이 모델은 쿠버네티스 외부 서비스가 쿠버네티스 내부 서비스에 직접 요청을 보낼 수 있게 하며, 사이드카 운영 부담 감소, 지연 시간 단축, 디버깅 용이성 등의 이점을 제공합니다.

Central Dogma 서비스 메시의 미래

  • Central Dogma 컨트롤 플레인은 이종 인프라 환경(쿠버네티스, 물리/가상 머신)에서 서비스 메시를 구현하며 고가용성, 강력한 GitOps, 고도화된 인증 시스템을 제공합니다.
  • 사이드카 없는 Armeria 기반 서비스 메시는 배포 복잡도를 줄이고, 비용 효율성을 높이며, 실패 지점을 최소화하여 시스템의 견고성을 향상시킵니다.
  • 향후 계획으로는 컨트롤 플레인 전용 UI 개발, 인증 시스템 고도화, 방대한 xDS 프로토콜 기능 커버리지 확대, 그리고 커스텀 필터 기능을 통한 Armeria 클라이언트 확장성 제공이 있습니다.
#BackEnd#Architecture#Infra
라인
라인

라인 Engineering Team

기술 인사이트를 전달하는 공식 채널

You might also like

View all
Part2: 삼성계정 서비스의 Agentic AIOps, 운영환경에서 Multi-Agent 시스템으로 RCA 자동화 하기

Part2: 삼성계정 서비스의 Agentic AIOps, 운영환경에서 Multi-Agent 시스템으로 RCA 자동화 하기

야놀자의 Strands SDK와 Bedrock AgentCore를 활용한 AIOps Agent 구축 사례

야놀자의 Strands SDK와 Bedrock AgentCore를 활용한 AIOps Agent 구축 사례