[가면사배 시리즈 #10] 알림 시스템 설계 - 수백만 사용자에게 알림 보내기
가면사배 스터디 6주차! 수백만 사용자에게 푸시 알림, SMS, 이메일을 안정적으로 보내기 위한 알림 시스템 설계 과정을 정리했습니다. 메시지 큐와 비동기 처리를 활용해 확장성과 안정성을 동시에 잡는 방법을 다룹니다.
총 98개의 글
가면사배 스터디 6주차! 수백만 사용자에게 푸시 알림, SMS, 이메일을 안정적으로 보내기 위한 알림 시스템 설계 과정을 정리했습니다. 메시지 큐와 비동기 처리를 활용해 확장성과 안정성을 동시에 잡는 방법을 다룹니다.
가면사배 스터디 5주차! 이번에는 검색 엔진의 심장이라 할 수 있는 웹 크롤러 설계에 대해 정리했습니다. 단순한 다운로더를 넘어 규모 확장성과 예의까지 고려해야 하는 복잡한 분산 시스템의 세계를 확인해보세요.
가면사배 스터디 5주차! 긴 URL을 짧고 예쁘게 만드는 URL 단축기 시스템의 설계 원리를 정리했습니다. 301/302 리디렉션의 차이부터 Base-62 변환까지, 대규모 트래픽을 견디는 설계 노하우를 공유합니다.
가면사배 스터디 4주차! 분산 환경에서 유일성이 보장되는 ID를 생성하는 다양한 방법과 트위터 스노플레이크의 설계 원리를 깊이 있게 정리했습니다. 64비트 구조의 효율성과 실제 운영 시 고려해야 할 시계 동기화 이슈까지 다룹니다.
가면사배 스터디 2주차! 1장에서 단일 서버부터 수백만 사용자까지의 시스템 진화 과정을 배웠다면, 이번 2장에서는 그런 시스템을 설계하기 전에 반드시 필요한 개략적인 규모 추정(Back-of-the-envelope Estimation)에 대해 다룹니다.처음에는 "봉투 뒷면 계산"이라는 번역이 좀 어색했는데, 실제로 읽어보니 정말 핵심적인 내용이더라고요. 시
가면사배 스터디 4주차! 분산 키-값 저장소의 설계 원리와 CAP 정리, 일관성 모델 등 대규모 시스템의 기반이 되는 저장소 기술을 정리했습니다. 특히 분산 환경에서 발생하는 데이터 충돌 해결과 장애 처리 메커니즘을 보며 많은 영감을 얻었습니다.
가면사배 스터디 3주차! 수평적 확장성을 구현할 때 가장 큰 걸림돌인 해시 키 재배치 문제를 해결하는 '안정 해시'의 마법 같은 원리를 정리했습니다. 서버 추가나 제거 시에도 시스템 전체가 흔들리지 않게 만드는 해시 링과 가상 노드 기법을 통해 분산 시스템의 균형을 잡는 방법을 알아보려고 합니다.
가면사배 스터디 3주차! 갑작스러운 트래픽 폭주나 악의적인 공격으로부터 서버를 안전하게 보호하는 처리율 제한 장치의 설계 원리를 정리했습니다.
가면사배 스터디 2주차! 시스템 설계 면접의 본질과 효과적인 4단계 접근법을 정리했습니다. 면접관을 팀원으로 생각하고 협력적으로 문제를 해결해나가는 과정이 정말 중요하더라고요.
최근에 토스 본사에서 열린 TypeScript Backend Meetup #7에 다녀왔습니다. 혹시 TSBM을 처음 들어보시는 분들을 위해 간단히 소개하면, TypeScript Backend Meetup의 줄임말로 TypeScript 기반 백엔드 개발자들의 커리어 성장과 네트워킹을 위한 정기 모임입니다. 매월 개최되며, 실무 경험을 바탕으로 한 기술 발표와
항해 플러스 동기들과 함께 "가상 면접 사례로 배우는 대규모 시스템 설계 기초(가면사배)" 독서 스터디를 시작했습니다!앞으로 각 장마다 학습한 내용을 정리해서 공유할 예정인데, 첫 번째로 1장 "사용자 수에 따른 규모 확장성"을 읽고 나니 정말 많은 걸 배웠더라고요.단일 서버에서 수백만 사용자를 지원하는 시스템까지의 진화 과정을 단계별로 설명해놓은 게 인상
> 참석일: 2025년 7월 25일 (금) > 장소: 코엑스 컨벤션센터 > 주요 세션: 10개 기술 세션 참석 --- 토스 메이커스 컨퍼런스 2025에 참석하며 가장 인상 깊었던 점은 "실패를 감추지 않고 드러내며 빠르게 공유하여 다음 선택의 근거로 삼는다"는 토스의 기술 철학이었습니다.20년 된 레거시 시스템의 현대화부터 최신 ML 플랫폼 구축까지, 각
> 토비님의 "AI 시대 개발자로 살아가는 법" 세미나에서 얻은 통찰과 실무 적용 방안 최근 개발자 커뮤니티는 그 어느 때보다 혼란스럽습니다. "AI가 개발자를 대체할 것이다"라는 위기론과 "AI는 개발자를 대체할 수 없다"는 낙관론이 동시에 쏟아지고 있죠.이런 상황에서 《토비의 스프링》 저자이자 31년차 개발자인 토비님이 제시한 "AI 시대 개발자 생존
> ? 매일 아침 의존성 업데이트 PR을 확인하는 것이 일상이 된 개발자를 위한 실전 가이드 안녕하세요! 오늘은 저희 팀에서 실제로 사용하고 있는 Dependabot 설정과 운영 노하우를 공유해드리려고 합니다.의존성 관리, 정말 귀찮지 않나요? 새로운 보안 패치가 나올 때마다 수동으로 업데이트하고, 어떤 패키지가 outdated인지 확인하고... 이런 반복
최근 프로젝트에서 BigQuery의 성능 개선을 위해 Storage Read API를 도입하는 과정에서 흥미로운 문제를 만났습니다. GoogleSQL의 DATE 타입과 Apache Avro의 DATE 타입 간의 불일치로 인해 예상치 못한 데이터 변환 이슈가 발생했는데요, 이를 해결하는 과정을 공유해보려 합니다. BigQuery에서 데이터를 읽는 방법은 크게