[DEV] J-Jay

MSA 분해로 인해 생긴 문제 해결 방법 본문

Back-end/MSA

MSA 분해로 인해 생긴 문제 해결 방법

J-Jay 2024. 4. 25. 23:10
728x90

"분해" 로 인해 생기는 문제 해결 방법

 

  • 문제1: 수 많은 서버와 수 많은 서비스들은 어떻게 배포하고 관리 할 것인가?
  • 해결1: Container로 관리 → Docekr
  • 문제2: 그럼 많은 컨테이너는 또 어떻게 관리할 것인가?
  • 해결2: Container Ochestration로 관리 → K8S, docker-compose(경량)

  • 문제3: MSA환경에서의 모니터링(로깅, 메트릭, 트레이싱, 서비스 메시)은 어떻게 할 것인가?
  • 해결3(로깅)
    - 수많은 서버(IDC, CLoud 내의 수많은 서비스들의 로그들을 적절히 필터링 하여 누락없이 로그 저장소까지 전송
    - 수 많은 로그들을 적절히 인덱싱 하여, 필요 시 빠르게 다양한 조건으로 검색
    → EFK, ELK

  • 해결3(메트릭, 얼럿)
    - 수 많은 서버(IDC, Cloud) 내의, 수많은 서비스의 메트릭들을 안정적으로 수집하고, 시계열 방식으로 저장 필요
    - 다양한 오픈 소스의 메트릭을 지우너하는 대시보드를 사용
    - 원하는 복잡한 비즈니스 메트릭을 작성하고, 이를 기반으로 적절하게 Alert 조건을 설정
    → InfluxDB, Prometheus(시계열 DB) / Grafana(visualize 예쁘게) 

  • 해결3(트레이싱)
    - 하나의 소스(트랜잭션)에 대해서, 여러개의 서비스에서 어떤 과정들을 거쳐 수행되었는지 확인
    - 적절한 샘플링과 보기 좋은 UI 제공이 필요
    → Jaeger(go 언어로 만듦), Zipkin, Tempo(Grafana에서 나옴)

Jaeger 트레이싱 아키텍처

  • 해결3(서비스 메시)
    - 어느 서비스가 어느 서비스를 호출하고 있는지, 어디로 트래픽이 어느 정도로 발생하고 있는지 모니터링 필요
    - 수많은 서비스들이잘 호출되어 있는지 어떻게 하면 서비스들이 호출된것을 편하게 볼 수 있는지가 목적
    → kiali

'Back-end > MSA' 카테고리의 다른 글

IPC(Inter Process Commuication) - 2  (0) 2024.04.26
IPC(Inter Process Commuication)  (0) 2024.04.26
MSA 분해로 생긴 문제들  (1) 2024.04.25
ExecutorService  (0) 2024.03.04
Future  (0) 2024.03.04