컨퍼런스&기술블로그
글또
-
2025 회고
들어가며 안녕하세요. 이번에도 한 해를 마무리하며 회고를 작성해보려 합니다. 작년과 마찬가지로, 일상과 커리어 두 가지 카테고리로 나누어 정리해 보았습니다. 일상 철인 삼종 이번 연도에 잘했다고 말할 수 있는 것이 있습니다작년 회고 때 해보고 싶다고 말했던 철인삼종에 도전한 것인데요.서울시에서 주최하는 행사였고, 초급 코스로 도전해 완주했습니다.한강 물이 차가워서 수영할 때 많이 당황했던 기억이 나네요. 이번 연도에도 주최한다면 또 도전해 볼 생각입니다.재밌었어요. 수영 중급반 접영을 잘하지 못해 초급반에 오래 머물러 있었는데, 이제 중급반으로 올라가게 되었습니다.접영은 아직도 몇 바퀴만 돌아도 힘들어 자세가 무너지지만, 이전보다는 할 만해졌습니다.수영을 다닌 지도 어느덧 3년이 되어가는데, 미..
-
커스텀 메트릭 사용해보기
들어가며 안녕하세요.이번 글에서는 모니터링에 대해 다뤄보려고 합니다. 최근 회사에서 여러 서비스와 연동되는 기능을 개발하던 중, 기능 테스트 과정에서 “테스트 과정에서 보이는 수치들을 시각화할 수 있다면 검증이 훨씬 수월하겠다”는 생각을 하게 되었습니다.우선 1차적으로는 그라파나를 활용해 모니터링 환경을 구축했습니다. 각 DB에 직접 연결해 SQL을 조회하고, Mixed 패널을 통해 여러 DB 데이터를 한 화면에서 확인할 수 있도록 했습니다. 하지만 이 방식에는 빈틈이 있었습니다. 구현 상 DB에서 하드 딜리트된 데이터는 로그로만 남아 검증에서 누락되는 경우가 있었고, 이를 추적하기가 까다로웠습니다.이 문제를 해결하기 위해 로그로 남는 정보들을 메트릭화할 수 없을까 고민하다가 알게 된 것이 바로 커스텀 ..
-
높은 트래픽 환경에서의 현재 재고 처리 구조 고민
들어가며안녕하세요.이번 글에서는 가상의 시나리오를 통해 회사의 아키텍처를 어떻게 개선할 수 있을지 고민해 보고자 합니다. 저희 회사에는 주문 서비스와 창고 서비스가 존재합니다.이커머스에서 재고를 관리해 주문 수량을 제한하는 건 흔한 패턴입니다.하지만 저희 시스템은 고객이 주문할 때 재고를 실시간으로 확인하지 않습니다.이는 "무조건 배송"이라는 비즈니스 모델을 반영한 설계입니다.그렇다면, 만약 주문 시점에 재고를 체크해야 하고, 동시에 높은 트래픽이 몰린다면 어떤 문제가 발생할까요? 현재 구조현재 주문은 주문 서비스에 누적되며, 당일 주문 마감 시간이 되면 그제야 창고 서비스로 전달되어 배송 작업이 시작됩니다.창고 서비스는 사용자 트래픽을 직접 받지 않기 때문에 특정 시간 제외하고 트래픽으로부터 안전합니..
-
도전, 실패, 성공
얼마 전에 워너비로 꿈꾸던 회사의 최종면접까지 갔었다.나는 회사에 바라는 점과 내가 일할 때의 모습을 솔직하게 말했지만, 회사가 원하는 핏과는 다른지 탈락하고 말았다.오히려 다행이다.회사와 컬처핏이 맞지 않아 탈락한 것이라면, 오히려 다행 아닐까?들어가서 나와 다른 가치관때문에 힘들었을 수 있다.여우와 신포도처럼 들리겠지만, 그냥 내 생각이다. 감사하게도 탈락의 이유, 피드백을 메일로 주셨다. 이런 회사 진짜 없는데 말이다.성장을 위해 비판적인 피드백이 있다는 이야기는 들었던 회사이기에 지원할 때도 찜찜함은 조금 있었다. 결국 그 찜찜함이 맞아들어버렸다.메일에는 내가 지향하는 방향이 회사의 지향점과 달라 아쉬웠다는 내용이 담겨 있었다.나는 면접 내내 일관된 메시지를 던졌고, 거기에는 이런 나와 맞다면 채..
-
카프카 부하 분산: 동적 쓰로틀링과 캐시
들어가며안녕하세요.이번 글에서는 카프카 기반 쓰로틀링에 대해 이야기 해보려합니다. 서비스 특성상 특정 시간대에 카프카 트래픽이 집중되며 DB 병목이 발생하는 문제가 있었습니다.단순히 서버를 증설하는 방식보다는 현재 가지고 있는 자원을 활용해 문제를 해결하고자 했습니다. 해결 전략일반적으로 부하 해결을 위해 자주 사용하는 방법은 캐시, DB 읽기/쓰기 분리, 쓰로틀링 적용입니다.저희 서비스에는 아직 글로벌 캐시를 적용하지 않았습니다.또 트래픽이 항상 높은 게 아니라 특정 시점에만 몰리는 구조였기 때문에, 상시 유지되는 캐시는 오히려 불필요한 관리 포인트 증가라고 생각했습니다.결국, 현재 리소스 내에서 문제를 해결할 수 있는 방법으로 동적 쓰로틀링 전략을 선택하게 되었고, 필요에 따라 캐시를 결합해 트..
최신 글
-
2026.01.18 주간 읽을거리TIL 2026.01.12 22:42
연봉 값을 하는 엔지니어의 비밀: "모르는 것(Ambiguity)"을 "할 수 있는 것"으 | GeekNews핵심 요점:시니어와 중간급 엔지니어를 가르는 결정적 차이는 불확실하고 모호한 문제를 구체화하는 능력임.시니어의 가치는 코딩 기술 그 자체가 아니라, 프로젝트의 리스크를 제거하고 실행news.hada.io요구사항을 듣다 보면, 난해하거나, 더 쉬운 방법이 있는데 왜 그리하지 않는지, 궁금한 경우가 있다.같이 이야기를 해보면 그럴만한 이유들이 있다. 납득이 가능 경우도 있다.그냥 그렇구나 하고 넘어가면, 쉬운 길을 빙빙 돌아가게 된다. 장애물이 있다면, 그게 진짜 장애물인지를 봐야 한다. 어쩌면 쉽게 치울 수 있는 장애물일 수 있다.시스템을 복잡하게 만들어 유지보수 힘들게 하느니, 담당자와 이야기해 ..
-
2026.01.11 주간 읽을 거리TIL 2026.01.11 13:30
달리기로 배운 성장의 법칙 | GeekNews장거리 달리기 경험을 통해 얻은 학습 원리와 자기 성장의 통찰을 정리한 글로, 신체 훈련과 정신적 태도의 관계를 설명타고난 재능이 부족한 영역에서도 꾸준한 노력과 호기심이 의미 있는 성news.hada.io반복적인 노력도 중요하지만, 데드존에 있을 수 있다. 성장하지도 않으며, 뒤쳐지지도 않는..과거 여러 연사들에서 말한 의도적으로 어려운 일을 해야 한다고 말한다.점진적 성장은 안개에 젖는 것과 같다.내가 얼마나 성장했나를 체감하지 못한다.과거에는 해결하지 못했을 문제를 지금은 해결할 수 있지만, 이걸 성장으로 받아들이지 못할 수 있다.이를 의도적으로 인식해 성장했음을 알아차리고 동력을 잃어서는 안된다고 생각한다. Google에서 14년간 얻은 21가지 교..
-
2026.01.02, 01.07 결제 관련 글 찾아 읽기TIL 2026.01.07 23:10
결제 아키텍쳐 웹훅에 대해https://medium.com/@sohail_saifii/handling-payment-webhooks-reliably-idempotency-retries-validation-69b762720bf5 웹훅이 다운되는 경우도 있다. 웹훅이 만능은 아니다. 다만 폴링을 보완책으로 사용할 수 있다웹훅을 사용하지 않는다웹훅이 1시간 동안 동작하지 않았다. -> 알림폴링을 사용여기서도 폴링과 웹훅을 언급웹훅 vs 폴링웹훅 대신 Stripe API를 폴링해야 하는 경우는 언제일까요?웹훅을 다음 용도로 사용하세요:* 백그라운드 이벤트(구독 갱신)* 긴급 업데이트 (결제 실패)* 예측할 수 없는 사건들(분쟁)폴링을 사용하는 경우:* 사용자 활동 직후 결제 상태 확인 -> 이걸 없애야* 실행 ..
-
2025 회고글또 2026.01.01 19:40
들어가며 안녕하세요. 이번에도 한 해를 마무리하며 회고를 작성해보려 합니다. 작년과 마찬가지로, 일상과 커리어 두 가지 카테고리로 나누어 정리해 보았습니다. 일상 철인 삼종 이번 연도에 잘했다고 말할 수 있는 것이 있습니다작년 회고 때 해보고 싶다고 말했던 철인삼종에 도전한 것인데요.서울시에서 주최하는 행사였고, 초급 코스로 도전해 완주했습니다.한강 물이 차가워서 수영할 때 많이 당황했던 기억이 나네요. 이번 연도에도 주최한다면 또 도전해 볼 생각입니다.재밌었어요. 수영 중급반 접영을 잘하지 못해 초급반에 오래 머물러 있었는데, 이제 중급반으로 올라가게 되었습니다.접영은 아직도 몇 바퀴만 돌아도 힘들어 자세가 무너지지만, 이전보다는 할 만해졌습니다.수영을 다닌 지도 어느덧 3년이 되어가는데, 미..