MCP 서버가 메모리 6.7GB를 먹길래 프록시를 만들었다
세션마다 복제되는 stdio MCP 서버가 프로세스 169개, 메모리 6.7GB를 차지하고 있었다. 프록시로 프로세스를 공유하게 만들어 줄였는데, 만들고 나니 더 큰 질문이 남았다. 이 서버들, 지금도 MCP여야 하나?

세션마다 복제되는 stdio MCP 서버가 프로세스 169개, 메모리 6.7GB를 차지하고 있었다. 프록시로 프로세스를 공유하게 만들어 줄였는데, 만들고 나니 더 큰 질문이 남았다. 이 서버들, 지금도 MCP여야 하나?

쿠버네티스 파드가 비밀번호 없이 DB에 붙는 원리(IRSA와 rds_iam)와, 그렇게 붙은 계정의 권한을 최소로 유지하는 방법(소유자 분리와 default privileges)을 정리했다.

발송 이력을 어디에 저장할지에 대한 고민이다. 관계형 DB, RDB·S3 직렬·SNS fan-out·Firehose를 놓고 따진 트레이드오프를 정리했다.

발송 한도는 5초당 100건이었고 우리 평균은 20 req/s였다. 종이 위에서는 한도 이내인데 429가 산발적으로 터졌다. fixed-window 두 개의 시작 시각이 어긋나 있었던 것이 원인이었고, 여기에 다른 팀과 서드파티 계정을 공유하고 있다는 사실이 겹치면서 발송 경로 자체를 다시 설계하게 됐다.

리뷰 변경 트랜잭션과 통계 계산을 분리하고 RabbitMQ 이벤트를 받은 Review Consumer가 처리 시점의 데이터를 다시 집계하도록 설계한 과정을 정리한다. 중복 이벤트에 증감값이 누적되지 않는 구조와 당시 남아 있던 유실 구간도 함께 살펴본다.