upcurve669 멀티 인스턴스 환경에서 살아남기 Ep. 1: Canary 배포와 데이터 정합성 0. 이 글의 배경새로운 기능을 사용자에게 안전하게 선보이는 것은 모든 개발팀의 숙제입니다. 제가 현재 근무하고 있는 팀 역시 리스크를 최소화하기 위해 점진적으로 트래픽을 열어주는 '카나리 배포'를 적극적으로 활용하고 있습니다. 여기에 더해, 배포 과정 중 QA를 함께 진행하여 안정성을 이중으로 확인하는 견고한 프로세스도 갖추고 있어요. 이 글은 바로 그 "안전장치(카나리 배포 + QA)" 덕분에 발견할 수 있었던 데이터 정합성 이슈에 대한 경험담입니다. 엄밀한 의미에서 버그나 문제 해결 이야기는 아니에요. 오히려 우리의 안전장치가 성공적으로 작동해, 더 큰 장애를 막고 귀중한 교훈을 얻게 된 과정을 공유하고자 합니다. 겉보기엔 완벽해 보였던 우리의 배포 플랜에 어떤 숨은 함정이 있었는지, 그리고 이 경.. 2025. 8. 16. 설정 파일 한 줄이 1TB 디스크를 마비시킨 사건: 미니PC로 운영하는 12개 마이크로 서비스 장애 회고 0. 이 글의 배경사이드 프로젝트에서 마이크로서비스 아키텍처(MSA)를 운영한다는 건 어떤 의미일까요? 이 글은 asyncsite라는 스터디 플랫폼 사이드 프로젝트에서 발생한 장애를 분석하고 해결한 과정을 담은 기록입니다. 초창기의 비용 리스크를 제외하고자 클라우드 서비스 대신 고성능 미니 PC 한 대에 개발 환경을 구축했습니다. 이 서버에는 API 게이트웨이를 포함한 약 12개의 서비스가 도커 컨테이너 형태로 실행되고 있었습니다. 중앙 로그 수집을 위해 도입한 ELK(Elasticsearch, Logstash, Kibana) 스택도 그중 하나였습니다. 이 포스트에서는 로그 수집 시스템의 설정 오류 하나가 어떻게 전체 시스템을 마비시켰는지, 그리고 그 문제를 어떤 과정으로 진단하고 해결했는지 공유하고자 .. 2025. 8. 16. 제가 만든 AI가 처참히 패배했습니다 (그리고 그보다 짜릿한 순간은 없었습니다) 백엔드 개발자로서 제 세계는 주로 잘 설계된 API, 데이터 처리 프로세스, 그리고 서버의 로그를 중심으로 돌아갑니다. 하지만 최근 친구들과 떠난 1박 2일 여행에서, 이 세계를 완전히 뒤흔드는 경험을 했습니다. 딱 3시간만 투자해 열었던 작은 코드 배틀이 제게 던진 커다란 질문들에 대한 이야기입니다. 이번 해커톤의 기획자로서, 참가자들이 상대할 ‘고급’ 난이도의 내장 AI를 직접 만들었습니다. 솔직히, 이 AI가 너무 어려워서 참가자들이 모두 패배하면 어쩌나 하는 기우도 있었습니다. 모두가 제 '정답' 앞에서 좌절하는 그림을 내심 바랐던 걸지도 모릅니다. 하지만 역설적이게도 가장 짜릿했던 순간은, 바로 그 우려가 깨지는 순간이었습니다. 참가자들이 저마다의 기발한 전략으로 제가 만든 알고리즘의 허점을 파.. 2025. 8. 1. O(n²) 너머 ②: 제자리 정렬의 해답, 힙 정렬(Heap Sort) 🚀 들어가며: 가장 중요한 데이터, 어떻게 항상 맨 앞에 둘 수 있을까?지난번 글에서 병합 정렬을 통해 '분할 정복'이라는 강력한 무기로 $O(n^2)$의 벽을 넘는 법을 다뤘다. 병합 정렬은 전체를 정렬하는 아주 효율적인 방법이다. https://upcurvewave.tistory.com/789 O(n²)의 벽을 넘어서기 위한 관문, 병합 정렬버블, 삽입, 선택 정렬을 직관적인 알고리즘이다. 이 알고리즘들은 직관적이지만 데이터가 많아지면 속도에 한계가 있다. 오늘은 그 한계를 뛰어넘는 병합 정렬(Merge Sort)에 대해 이야기 나눠보upcurvewave.tistory.com 그런데 잠시 다른 질문을 던져보면 어떨까? "전체 리스트를 매번 정렬하는 게 아니라, 그저 '가장 중요한 데이터 1개'만 .. 2025. 7. 24. 테스트 30분 → 3분: MSA 인증 시스템과 E2E 자동화 플랫폼 20시간 구축 썰 0. 이 글의 탄생 배경이 글은 "어떻게 하면 시스템 전체를 쉽게 테스트할까?"라는 질문에서 시작된 개인 프로젝트 기록입니다. 여러 서비스가 얽힌 복잡한 흐름을 검증하다 보면, 개발자와 QA의 경계는 모호해지고 반복 작업만 늘어납니다. 개인 프로젝트를 하는 과정에서도 만난 이 문제를 해결하고자 E2E 테스트 플랫폼을 만들어봤습니다. 레고 블록처럼 테스트를 조립하는 아이디어부터 실제 구현, 그리고 AI를 활용해 완성하기까지의 과정을 담았습니다. 상세한 과정과 후기부터 테스트와 개발 생산성에 대한 생각을 공유하고자 합니다. 1. "제 서비스에선 잘 되는데요?" - 마이크로서비스의 함정개발자 농담이라고 자주 회자되는 표현이 있습니다. "내 로컬에선 되는데?" 실제 개발 환경에서는 이 농담이 "내 서비스에선 잘.. 2025. 7. 13. 이전 1 2 3 4 5 ··· 134 다음