피드로 돌아가기
System Design Concepts- 1
Dev.toDev.to
DevOps

K8s 기반 Microservices 및 GitOps를 통한 고가용성 시스템 설계

System Design Concepts- 1

KALPESH2026년 4월 20일6intermediate

Context

단일 서버 기반 Monolith 구조에서 발생하는 Single Point of Failure 및 확장성 제한 문제 분석. 서비스 규모 확대에 따른 독립적 배포와 개별 서비스 스케일링 필요성 증대.

Technical Solution

  • 서비스 간 결합도 해소를 위한 Microservices 아키텍처 전환 및 독립적 Deploy 단위 구성
  • 통신 효율 최적화를 위해 External API는 REST, Internal 통신은 gRPC, 비동기 워크플로우는 Event-driven 패턴 적용
  • CoreDNS 기반 Service Discovery 도입을 통한 동적 IP 환경의 서비스 간 연결 자동화
  • L4(IP/Port) 및 L7(Path/Header) Load Balancing 구분을 통한 트래픽 분산 최적화
  • HPA, VPA, KEDA 등 다각적 Autoscaling 전략을 통한 리소스 효율 극대화 및 트래픽 대응
  • Git을 Single Source of Truth로 정의한 GitOps 모델 도입으로 인프라 상태 동기화 및 감사 추적성 확보

- 서비스 성격에 따라 REST, gRPC, Event-driven 통신 프로토콜을 구분하여 적용했는지 확인 - Liveness/Readiness Probe 설정을 통해 K8s의 Self-healing 메커니즘을 최적화했는지 검토 - mTLS 및 Network Policy를 적용하여 서비스 간 최소 권한 기반 보안 설계를 구현했는지 체크 - Prometheus, Grafana, Loki를 연동한 Observability 스택을 구축하여 장애 감지 체계를 갖췄는지 확인

원문 읽기