MSA
-
이코에코(Eco²) Observability #0: 로깅 파이프라인 아키텍처 설계이코에코(Eco²)/Observability 2025. 12. 18. 12:12
개요마이크로서비스 아키텍처에서 로깅은 단순한 디버깅 도구를 넘어 시스템 투명성을 확보하는 핵심 인프라입니다.이 글에서는 15개 노드, 7개 API 서비스로 구성된 Eco² 백엔드의 로깅 파이프라인 아키텍처 설계 과정을 공유합니다.배경도입 전 상태: 각 Pod의 stdout/stderr 로그가 노드에 분산 저장, 구조화된 로깅 정책 부재문제점: 장애 발생 시 여러 노드를 직접 접속해 로그 확인 필요목표: 중앙 집중화된 로그 수집, 저장, 검색, 시각화 환경 구축기능 요구사항중앙 집중화모든 노드의 로그를 한 곳에서 조회P0실시간 수집로그 발생 후 5초 이내 검색 가능P0구조화된 로깅JSON 포맷으로 필드별 검색P1트레이스 연동trace_id로 분산 트레이싱과 연결P1대시보드에러율, 응답시간 등 시각화P2비기..
-
이코에코(Eco²) Auth Offloading: 도메인 공통 모듈 제거이코에코(Eco²)/Auth Offloading (ext-authz) 2025. 12. 13. 17:17
지난 포스팅에 더해 Auth Offloading을 이어서 작성하겠다.Auth Offloading이 필요했던 이유와 가능해진 배경, 의사결정 과정, 구현, 부하 테스트까지를 다뤘다면이 글에선 Auth Offloading으로 얻을 수 있던 소소한 개선과 한계를 서술한다. 기존 구조의 문제점domains/├── _shared/│ └── security/ # 공통 모듈│ ├── jwt.py # TokenPayload, extract_token_payload│ └── dependencies.py # build_access_token_dependency├── scan/│ └── api/dependencies.py → import from _shared/s..
-
이코에코(Eco²) Service Mesh #2: 내부 통신을 위한 gRPC 마이그레이션이코에코(Eco²)/Kubernetes Cluster+GitOps+Service Mesh 2025. 12. 12. 04:04
동기식 HTTP 통신의 한계와 아키텍처 전환의 필요성지난 포스팅에서 다룬 Scan API 성능 분석 결과, LLM 파이프라인 중 Answer Model(GPT 5.1)이 주된 병목임을 확인했다. 하지만 LLM 모델의 병목은 API를 호출하는 입장에선 접근할 수 없다. 선택 가능한 방향인 서비스 간 통신의 효율성을 확보하는 게 최선이다.현재 이코에코는 Scan -> Character -> Scan으로 이어지는 동기식 HTTP/1.1 호출 구조를 가지고 있다. 트래픽 증가 시 HTTP Connection Overhead와 JSON 직렬화 비용은 무시할 수 없는 Latency 요인이 되며, 진행 중인 Auth-Offloading(Envoy ext_authz) 도입을 위해서도 내부 통신 인터페이스의 표준화(gR..