F-LAB2026. 9. 16. 20:53Kafka에 대해서

Kafka란?링크드인에서 출발한 분산 이벤트 스트리밍 플랫폼이며, 초당 수십만 ~ 수백만 건의 메세지를 처리하는 고성능 메세지 시스템이다.데이터를 디스크에 영구 저장하고, 여러 컨슈머(메세지 처리하는 주체) 가 반복 소비할 수 있다.분산 스트리밍 플랫폼으로, 대량의 데이터를 처리하고 실시간으로 전송하는 데 사용된다. 모든 데이터는 로그 형식으로 파일 시스템에 기록하고, 로그를 한곳에 모아 처리할 수 있도록 중앙집중화되어 있으며, 대용량 데이터를 수집하고 실시간 스트리밍으로 소비가 가능.기존 메세지 큐와는 무엇이 다를까?전통적인 메세지 큐는 메모리 중심이며, 소비 후 삭제하는 구조이다. 메세지 재처리가 처리 했나/ 안 했나 단순 이 기준으로만 가능하지만, 카프카는 Offset 기반으로 어디까지 처리했는지를..

F-LAB2026. 9. 16. 19:31[가상 면접 사례로 배우는 대규모 시스템 설계 기초] 4장

처리율 제한 장치 Rate Limiter 설계 정리API를 운영하다 보면 특정 사용자가 짧은 시간 안에 너무 많은 요청을 보내는 상황이 발생할 수 있다. 예를 들어 SNS에서 하루에 작성할 수 있는 게시글 수를 제한하거나, 특정 API를 일정 시간 동안 정해진 횟수만 호출할 수 있게 제한하는 방식이 있다.이처럼 처리율 제한 장치 Rate Limiter는 클라이언트 또는 사용자가 보낼 수 있는 요청의 수를 제어하는 장치다. 시스템을 과도한 트래픽으로부터 보호하고, 모든 사용자에게 안정적인 서비스를 제공하기 위해 사용된다.처리율 제한이 필요한 이유처리율 제한 장치는 단순히 요청을 막기 위한 기능이 아니다. 시스템 관점과 사용자 관점 모두에서 중요한 역할을 한다.먼저 시스템 관점에서는 서버 자원을 보호할 수 ..

F-LAB2026. 8. 31. 21:31[가상 면접 사례로 배우는 대규모 시스템 설계 기초] 2장

개략적인 규모 추정시스템 설계 면접을 보면, 때로는 시스템 용량이나 성능 요구사항을 개략적으로 추정해보라는 요구를 받게 된다.개략적인 규모 추정은 보편적으로 통용되는 성능 수치상에서 사고 실험을 행하여 추정치를 계산하는 행위로서, 어떤 설계가 요구사항에 부합할 것인지 보기 위한 것이다.2의 제곱수 / 응답지연(레이턴시) 값, 그리고 고 가용성에 관련된 수치들을 기본적으로 잘 이해하고 있어야 한다.2의 제곱수분산 시스템에서 다루는 데이터 양은 엄청나게 커질 수 있으나, 그 계산법은 기본을 크게 벗어나지 않는다. 제대로 된 계산 결과를 얻으려면 데이터 볼륨의 단위를 2의 제곱수로 표현했을 때 어떻게 되는지를 알야아 한다.최소 단위: 1바이트, 8비트로 구성된다. 아스키 문자 하나가 차지하는 메모리 크기가 1..

F-LAB2026. 8. 25. 10:32Redis SET NX와 MySQL Unique 제약을 활용한 TID 중복 처리 검증

Redis를 선택한 이유와 RDB 유니크 제약 비교 검증1. 배경카카오페이 단건 코인 결제 흐름을 리팩토링하면서 tid를 어디에 저장하고, 중복 결제 요청을 어떻게 막을지 고민했다.카카오페이 결제는 대략 다음 흐름으로 진행된다.1. 사용자가 코인 결제 요청2. 서버가 카카오페이 ready API 호출3. 카카오페이가 tid 발급4. 사용자가 카카오페이 결제 화면에서 결제 진행5. 서버가 success callback에서 pg_token과 tid로 approve API 호출여기서 tid는 카카오페이가 발급하는 결제 트랜잭션 식별자다. 서버는 approve 요청을 보내기 위해 이 값을 가지고 있어야 한다.처음에는 단순히 Redis에 다음 형태로 저장하는 방식을 검토했다.coin_tid:{memberId} =..

F-LAB2026. 8. 19. 00:33Reveal2021 - 쿠팡의 대규모 트래픽을 다루는 백앤드 전략

쿠팡은 어떻게 모든 페이지에 빠르고 최신인 데이터를 뿌리는가 — Core Serving Platform쿠팡 상품 페이지를 보면 상품명, 이미지, 가격, 재고, 배송 예정일, 리뷰, 할인 정보까지 온갖 정보가 한 화면에 떠 있다. 그런데 이 데이터들이 전부 한 서버에 저장되어 있는 게 아니다. 이미지·상품명은 Catalog팀이, 가격은 Pricing팀이, 배송 정보는 Fulfillment팀이, 리뷰는 Review팀이 각자 관리한다. 이번 글은 이렇게 흩어진 도메인 데이터를 모아서 쿠팡의 거의 모든 고객 페이지에 빠르고 안정적으로 제공하는 Core Serving Platform에 대한 발표를 정리한 것이다. 크게 두 부분으로 나눠서 정리했다. 앞부분은 이 시스템을 어떻게 설계했는지, 뒷부분은 실제로 운영하면..

토스증권의 실시간 시세 적용기 정리
F-LAB2026. 8. 18. 19:43토스증권의 실시간 시세 적용기 정리

유튜브 영상을 보며 메모한 내용을 블로그용으로 재정리한 글입니다. 이해가 안 되는 개념은 아래 "궁금한 점 / 더 찾아볼 부분"에 표시해두었습니다. https://www.youtube.com/watch?v=WKYE-QtzO6g 1. 배경 — 왜 실시간 시세가 필요했나주식 투자자들은 가장 정확하고 최신의 시세·호가 정보를 제공하는 MTS(Mobile Trading System)를 선호한다. 증권사는 거래소로부터 시세를 실시간으로 전달받아 사용자에게 제공하는데, 국내 종목은 모든 증권사가 무료로 제공하지만 해외 종목은 조건부 무료이거나 유료인 경우가 많다.토스증권은 실시간 시세 정보를 조건 없이 전부 무료로 제공한다는 점이 특징이다. 그런데 처음부터 이랬던 것은 아니다. 초기 구현: API 폴링 방식처음에는..

image