선착순 쿠폰 이벤트의 동시성 제어 5만 TPS까지 몰아붙이기 :: 실험실
·
개발 공부 일기장/실험실
개요최근 많은 공부들을 하면서 스스로의 기술적 선택지가 넓어졌고 그것이 실제로 어떻게 작용할지 궁금해졌다.관리 비용이 낮고 원시적인 구조부터 시작해서 관리 비용이 높지만 많은 트래픽을 소화할 수 있는 구조까지 성능을 측정해본다.해당 측정 결과로 어느 지점이 sweet spot 인지 찾거나 이론적으론 예상하지 못했던 문제점들을 찾아내는 것을 기대한다. 앞으로도 belab 이라는 이름으로 여러 주제들을 비슷한 방식으로 계속 실험할 예정이다, 오늘은 그 첫번째인 선착순 쿠폰 이벤트다. 해당 글은 https://github.com/archan0621/limit_coupon_lab 에서 직접 진행한 실험 결과를 기반으로 작성한다.docker-compose로 간단하게 로컬에서 돌려볼 수 있으며 각 브랜치별로 시도한..
2025년 회고
·
개발 공부 일기장/Tips
개요올해는 그냥 2025년 회고다, 나이를 먹을수록 사람이 참 심플해지는 것 같다. 그래봤자 23살이지만.처음 작성했던 회고는 2022년이였고 20살이였다, n년차의 회고록 뭐시기.. 참 요란하게도 썻다.한편으로는 이제는 그런 거창한 수식어 없이도 나에게 관심을 가져주고 찾아봐 주시는 분들이 많이 생겨서 심플해졌다 싶기도 하다. 매년 사람으로써, 개발자로써 나누기도 했는데 올해는 그런것도 없다. 이제는 그 희미한 경계마저 사라졌다. 어느덧 4년차다, 물론 백엔드 개발자로는 이제 2년차에 접어들었다.하지만 아직 24살이라는게 나를 설레게 한다, 앞으로 얼마나 더 싱싱한 피지컬로 공부하고 습득하고 경험하고 성취감을 느낄까.이 체력을 유지하기 위해서 헬스도 정말 열심히 하고 있다, 건강한 몸에 건강한 사고방식..
카카오톡과 쿠팡이츠에서 볼 수 있는 최종적 일관성과 인과적 일관성
·
개발 공부 일기장/시스템 설계
개요최근에 갑자기? 여러 애플리케이션들을 이용하면서 크고 작은 버그들을 겪게 되었다. 근데 최근 데이터 애플리케이션 설계라는 책을 통해서 분산 시스템의 설계와 발생할 수 있는 문제점에 대해서 공부하고 있다보니까 그런 버그들을 보는 시선이 달라졌다. 분산 시스템의 뜨거운 감자 중 하나는 바로 일관성 (consistency)다, ACID에서 말하는 일관성과는 조금 다른 의미를 내포하고 있다.그리고 용어 자체가 워낙 다양한 의미를 가지고 있고 다양한 상황에서 적용할 수 있기 때문에 사전적인 정의를 명확하게 내리기는 어렵다. 나는 일관성에 대해서 어떠한 데이터가 N개의 노드에 전파되며 분산된 노드들이 어떤 규칙에 따라 일관되게 관측되는 되는 것 이라고 생각했다.보통 노드는 데이터 스토어를 의미하는 단어로 많이..
Supabase 응답없음 해결법 :: 네트워크 요청 없음, 네트워크 요청 안함
·
개발 공부 일기장/Tips
개요내가 가르쳐주는 멘티들을 위해 망각곡선에 기반한 개발 퀴즈 및 복습 플랫폼을 하나 만들었는데 정말 기술적 니즈는 하나 없이 실사용 용도로 만들어서 supabase와 vue, 바이브 코딩으로 4시간만에 만들었다. 내부 커뮤니티에만 홍보했는데 벌써 70명이 가입했다. 조금 더 시간내서 보완하고 블로그나 SNS에도 공개하려고 한다, 그 전에 Supabase를 사용하면서 원인을 찾기 어려운 문제를 찾아내어 혹시 Supabase로 개발하고 있는 비개발직군 프로덕트 메이커분들에게라도 도움이 될까 하여 후딱 디버깅 하자마자 글을 쓴다.오류 증상일단 탭 전환 시 새로고침을 하지 않는 SPA 환경에서 매우 간헐적으로 탭 전화했을 때 API를 호출해서 데이터를 화면에 뿌리지 못하는 버그가 있었다. 개발 환경에서만 일어..
Amazon Dynamo 논문을 읽으며 :: 고정관념에서 벗어나는 의식적인 노력
·
개발 공부 일기장/Tips
개요요즘 데이터 애플리케이션 설계라는 책을 정말 재밌게 읽고 있다.모던 웹 애플리케이션을 개발하는 백엔드 개발자로써 꽤나 비슷한 패러다임을 공유하는 프레임워크나 언어보다는 명확하게 탄생한 목적과 수행하는 역할이 다른 데이터 스토어에 대한 공부를 우선시 해야겠다는 생각이 들어서 이 책을 읽고 있다. 그러다가 AWS의 DynamoDB, 그 기반이 된 Dynamo Style을 기술한 Dynamo 논문에 대한 언급을 보게 되었다.그리고 Amazon이 전세계적인 서비스를 구축하며 고민한 내용이 궁금했고 논문을 찾아서 읽게 되었다. Dynamo 논문을 읽은 후 모던 웹 애플리케이션 개발에 대한 새로운 시야가 개안한 기분이였다, 그 내용을 정리해보고자 한다.ACID와 고정관념내가 처음으로 사용했던 데이터베이스는 My..
AWS ECR 직접 구축하기, Self Hosted ECR :: Docker Registry
·
개발 공부 일기장/DevOps
개요클라우드 비용 때문에 홈 서버를 막 구축하던 중, 과정에서 docker image를 원격 저장소에 저장하고 불러와야하는 요구사항이 생겼다.이전 슬축생 프로젝트처럼 Docker Hub를 사용하려고 했으나 무료 계정은 private repo를 하나밖에 사용하지 못하는 제약사항이 있었다. 사실 앞으로 이 프로젝트를 진행할 때 굳이 private repo로 진행할 이유도 크게 없고 하나 정도면 충분하기는 했다.하지만 회사 일도 아니고 난 제약사항을 싫어하고 공짜를 좋아하는 개발자이기 때문에 이거 직접 내가 구축 못하나? 이런 생각을 했다. 그래서 회사에서 사용하던 ECR 같은 저장소를 직접 구축해서 사용해야겠다 라는 생각이 들었다, 결과는 아래와 같다. 원래 기술블로그를 대낮에 잘 작성하지는 않는데 이 결과..
홈 서버 구성하기 1편 :: Self-Hosted Docker Image 저장소 구축하기
·
개발 공부 일기장/Tips
개요열심히 집에 있는 NUC에 서버를 띄울 준비를 하고 있다, 아마 아래 과정을 따를것이다.Docker Image 빌드 Docker Image 원격 저장소에 저장K3s 밖에 MySQL Redis 구성K3s 구성 및 기본적인 연동도메인 & SSL 인증서 구입 후 연동Docker Image 빌드 같은 경우에는 Github Actions로 간단하게 끝냈기 때문에 작성할 글이 더 없을 것 같아서 작성하지 않았다.이제는 빌드한 Docker Image를 업로드하여 저장하고 K3s에서 다운받아서 쓸 수 있게 해주는 저장소가 필요하다. 물론 Docker Hub를 사용할 수 있고 지난 슬축생 프로젝트에서는 Docker Hub를 사용했지만, 무료 요금제는 Private Repo가 하나다.지난 슬축생 프로젝트에선 지식도 많..
홈 서버 구성하기 0편 :: 홈서버 안 한다면서요, 근데 제 장점이 그거에요
·
개발 공부 일기장/Tips
개요집에 홈 서버를 구성할거다, 물론 어떤 글인지는 기억이 안 나는데 분명 전에 홈 서버 같은거 안한다고 했었다.그 당시에는 보안 회사에서 근무하던 시절이라 맨날 서버실에 처박혀서 베어메탈 장비 뜯고 물리고 네트워크 설정하고매일 방화벽 개발하면서 회사 사내 방화벽까지 내가 관리하고 아침마다 방화벽 로그보면서 하루를 시작하는게 질려서 그랬다. 하지만 그렇게 몇년이 지나고 나는 서비스 개발자가 되었다.내가 그런 개발자여서 홈 서버는 필연인 것 같다나는 어떤 개발자일까? 라고 되물어보면 제너럴리스트에 가까운 개발자이다, 물론 이젠 백엔드에서 전문성을 쌓고 있지만 백엔드라고 말하고 다니지만 한번도 프론트 개발을 안한적이 없었고 3년간 iOS, 이젠 React Native와 React도 약 1년간 하였다.DevO..