ext-authz
-
이코에코(Eco²) Eventual Consistency #2: ext-authz 2500 VUs 부하 테스트이코에코(Eco²)/Eventual Consistency 2025. 12. 30. 12:11
테스트 실행: Locust VUs 2500/ramp-ups: 250, Observability: Prometheus/Grafana, Locust 1. 테스트 환경https://snapshots.raintank.io/dashboard/snapshot/JbEhJRXD1vCt77ZOfCxy9N72wXJ3ZyKj GrafanaIf you're seeing this Grafana has failed to load its application files 1. This could be caused by your reverse proxy settings. 2. If you host grafana under subpath make sure your grafana.ini root_url setting includes su..
-
이코에코(Eco²) Eventual Consistency #1: ext-authz Blacklist 로컬 캐시 및 Fanout 구현이코에코(Eco²)/Eventual Consistency 2025. 12. 30. 11:48
이전 글: ext-authz 로컬 캐싱 설계개요설계 문서에서 제안한 로컬 캐시 + MQ 브로드캐스트 아키텍처를 구현하고 검증한 과정을 기록합니다.1. 구현 결과 요약1.1 메트릭 검증ext_authz_blacklist_cache_size 7 ← 캐시에 7개 유지ext_authz_blacklist_cache_evictions_total 0 ← eviction 없음ext_authz_mq_events_received_total 1 ← MQ 이벤트 수신ext_authz_mq_events_processed_total 1 ← 처리 성공1.2 동작 흐름┌────────────────────────────────────────────────────..
-
이코에코(Eco²) ext-authz 성능 튜닝: Redis PoolSize, HPA이코에코(Eco²)/Auth Offloading (ext-authz) 2025. 12. 15. 20:30
이코에코(Eco²) ext-authz: Stress Test 에서 밝혔듯 ext-authz의 주된 병목은 Redis PoolSize와 cpu-limits다.당시 Redis PoolSize는 10으로 users:2000, ramp-ups:200 지점부터 점진적으로 부하가 나타나다가,users:2500, ramp-ups:250부터 본격적으로 avg latency 증가, RPS 42로 급감하며 포화상태를 보였다.Eco² 클러스터 Redis 구성 현황ubuntu@k8s-master:~$ kubectl get pods -n redis -o wideNAME READY STATUS RESTARTS AGE IP NODE NOMINATED..
-
이코에코(Eco²) ext-authz: AuthN/AuthZ 검증 엔진 Stress Test이코에코(Eco²)/Auth Offloading (ext-authz) 2025. 12. 14. 15:29
ext-authz 서버 개발기에서 이코에코 서비스 API(GET)로 ext-authz의 대략적인 성능을 테스트했다.당시 유저수 200명->1000명으로 증가하도록 테스트해도 서비스 API의 RPS가 250-280선에서 증가하지 않아, ext-authz 서버가 부하를 온전히 받지 못했다. 서비스 API(GET)엔 도메인별 DB 조회 로직이 포함된만큼 변수가 많았기에, ext-authz 서버의 임계 성능을 알아보고자 더미 엔드포인트(/api/v1/character/ping)를 만들고 AuthN/AuthZ 검증 필터를 통과하도록 구성했다.주요 리소스 스펙이코에코 클러스터 내 ext-authz 부하 테스트에 영향을 받는 리소스들의 스펙은 아래와 같다.EC2 인스턴스k8s-api-charactert3.small2..
-
이코에코(Eco²) Auth Offloading: ext-authz 서버 개발기 (Go, gRPC)이코에코(Eco²) 2025. 12. 13. 17:13
이코에코(Eco²) Service Mesh #2: gRPC 마이그레이션에서 언급된 Auth Offloading을 진행했다.이 과정을 이해하려면 먼저 백엔드/인프라 고도화 전의 Auth, '공모전 당시 클러스터는 어떻게 동작하고 있었나.'를 알아야 한다.Eco² v1.0.0 Auth기존 방식은 Auth의 공통 모듈을 전 도메인 서버에 심어 검증 로직과 유저 정보 추출을 수행토록 했다. 선택한 근거는 아래와 같다.1) Istio 전 이코에코 클러스터엔 Ingress GW가 없어 세밀한 라우팅이 불가능했다. (API 접근 전, Auth 서버 우선 라우팅)2) 당시는 빠른 API 기능 개발이 주요했기에 도메인 간 독립성을 일부 포기하더라도 서버 구현에 있어 간편한 방식을 택했다.MSA임에도 공통 모듈에 묶이는 ..