처리율 제한 장치를 설계해보자
대규모 시스템 설계 책 스터디에서 진행한 4장의 처리율 제한 장치에 대한 개념을 정리해보고자 한다. 추가적으로 본문을 다 읽기 전에 설계를 선행적으로 진행해보고 이상적인 설계를 확인한 후, 마지막에는 운영중인 서비스에 직접 적용해보았다. Rate Limiter 처리율 제한 장치 rate limiter 네트워크 시스템에서 처리율 제한 장...
대규모 시스템 설계 책 스터디에서 진행한 4장의 처리율 제한 장치에 대한 개념을 정리해보고자 한다. 추가적으로 본문을 다 읽기 전에 설계를 선행적으로 진행해보고 이상적인 설계를 확인한 후, 마지막에는 운영중인 서비스에 직접 적용해보았다. Rate Limiter 처리율 제한 장치 rate limiter 네트워크 시스템에서 처리율 제한 장...
파일럿 유치에 앞서 우리 시스템의 안정성을 테스트로서 보장해야했다. 게이트웨이부터 분석 서버, DB까지 총 14회차에 걸쳐 부하테스트를 진행했는데, 앞단 모듈부터 순차적으로 부하를 주며 아래 내용을 확인했다. 각 모듈은 어디까지 버티고, 그때 어떤 자원이 병목이 되는가? 모듈이 죽을 때까지 올리는 Breakpoint Test로 모듈별 한계와 취약 ...
먼저 Analytics 서비스 특성 상, 전환율을 계산해주는 로직이 필요하다. 분자/분모 형태로, 앞단 이벤트를 겪은 전체 인원을 분모로, 그중에서 뒷단 이벤트를 발생시킨 인원을 분자로 둔다. 여기서 앞단 이벤트는 LLM의 응답 데이터를 관측한 인원이고, 뒷단 이벤트는 유저가 브라우저나 앱에서 발생시킨 특정한 이벤트 데이터이다. 전체 LLM 응답을 ...
분석 서버 스택을 코프링으로 정하고 나니, 다음 고민은 내부 아키텍처였다. MVP로 세운 단일 서버가 얼마나 오래 사용될지 몰랐기에, 한번에 잘 만들어두자는 욕심이 생겼다. 기본적으로는 도메인 패키징으로 디렉토리를 나눴고 그 하위를 구성하는 아키텍처를 정해야 했는데, 지금까지의 프로젝트에서 써온 레이어드 아키텍처가 당연하게도 먼저 떠올랐다. 다만...
LLM Gateway를 만들면서, LLM 호출 정보를 분석 서버에 비동기로 넘겨줘야 했다. 토큰 사용량, 레이턴시, 요청/응답 본문, 서비스 자체 식별자 등등 이벤트 데이터를 분석 서버 쪽으로 넘겨야 하는데, 당연하게도 메시지 큐를 써야 한다는 생각이 들었다. 다만 지금 시기에는 개발 속도가 생명이었다. Kafka를 도입하자니 MVP라는 타겟에 비...
왜 블로그를 써야 하는데? 최근 개발에 시간을 쏟아가면서도, 성장하고 있다는 체감을 거의 하지 못했다. 여러 프로젝트에 걸쳐 개발하고, 공부하고 해왔지만 그 과정에서 익혔던 것들이 흩어져 있는 느낌 노션에 흩어져 있는 조각 페이지들은 한눈에 보기도 힘들고, 관리도 용이하지 못하다. 결국 가장 중요한 것은 탐구하고 기록하는 창구를 만들어두는 것 ...