ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Armeria, gRPC, Zipkin, ELK 조합 굿
    Working 2021. 7. 15. 15:19

    MSA

    - Front-Service

    - Aggregation-Service

    - Backend-Micro-Service

     

    특정

    - 비동기 지원(Courutine)

    - 분산 Tracing(pinpoint, Zipkin)

    - 요청이 가볍고 빠름(gRPC + Protobuf)

     

    빠른 개발 속도

    - Armeria + gRPc

    - 보일러 플레이팅 -> 팀내 규격확

     

    gRPC 약점

    - 제한된 브라우저 지원

    - 사람이 읽을 수 없음

    - 아메리아와 함께 사용함으로서 다양한 MimeType지원, 자동 문서화 가능

    - 자동으로 Protobuf기반 문서화 및 Swagger처럼 테스트 가능(DocService)

     

    graphQL Backend Service Aggregation

    - 각 Client가 직접 gQL을 호출

    - 어떤 클라이언트에서 호출을 하는지 추적 불가능 -> 장애 위험 요소

    - 각 서비스 API 컴포넌트를 통해서 유입

    - Batch dataLoader를 통해 우아하게 N+1 문제 해결 가능

    - 초기 설계 중요, 비동기 주의

     

    MSA 모니터링

    - ZIPKIN을 활용한 MSA 분산 모니터링

    - Repoter -> Transpoter -> Collector -> Tracing -> UI

    - AccessLog ELK 도입 -> 각 서버마다 들어가서 로그 확인하는 일이 90% 미만으로 줄어듦

    - 비동기 환경 분산 Tracing -> 하나의 Thread에서 요청이 보장되지 않음. Tracing Context를 전달해야 하나의 Tracing으로 처리 됨

    'Working' 카테고리의 다른 글

    Apache HttpClient5  (0) 2021.07.20
    [우아콘2020] 수십억건에서 QUERYDSL 사용하기  (0) 2021.03.08
    Mapstruct  (0) 2021.02.22
    Best practices for REST API design  (0) 2021.02.22

    댓글

Designed by Tistory.