실시간 처리와 캐시
주제 허브

초당 수만 건을 밀어내면서 순서와 지연을 어떻게 지키나

실시간 처리와 캐시

WebSocket 푸시와 폴링을 같은 부하로 비교하고, Netty 브로드캐스트와 Redis 캐시 두 겹, 시계열 저장소를 다룬다. 증권·커머스의 실시간 시스템 발표를 같은 질문으로 읽는다.

35편 직접 만들고 재 본 것 22 기술 블로그 리뷰 5 컨퍼런스 발표 리뷰 8 최근 글

직접 만들고 재 본 것

22편
  1. WebSocket push와 REST polling을 클라이언트 1만 개에서 재다 — 지연과 서버 비용, Kafka 정지 45초, 느린 소비자 25개
  2. TimescaleDB를 시계열 DB로 고른 이유 — Hypertable과 연속 집계
  3. NIO와 이벤트 루프 - 셀렉터, 다이렉트 버퍼, Netty가 대신 해주는 일
  4. 리액티브와 백프레셔 - WebFlux가 해결하는 것과 옮기는 것
  5. 토스증권 공개 자료로 읽는 시세·주문 아키텍처: 무엇을 잃어도 되는지 먼저 정한다
  6. Redis 단일 스레드가 멈추는 순간 - SCAN이 3.7배 오래 걸리면서 아무도 막지 않고, 120ms 멈춤이 p99에 안 잡히는 이유
  7. ParityPay로 검증하는 결제 정합성 10 - 락 lease가 트랜잭션보다 먼저 끝나면 정말 정합성이 깨지는가: SETNX 락, Watchdog, fencing token, 그리고 락 없는 구조의 실측
  8. 캐시 스탬피드와 single flight - 200명 중 125명이 원본까지 갔고, 예외를 삼키자 실패가 가장 빠른 요청이 됐다
  9. MULTI, Pub/Sub, Lua로 보는 Redis 확장 기능과 구현 과정
  10. MemoryDb, TTL, Hash 구조로 보는 Redis keyspace 설계
  11. redis-lite-java로 이해하는 Redis 아키텍처 개요
  12. RESP, Reactor, Command Registry로 보는 Redis 요청 처리 흐름
  13. Netty
  14. Redis Cache Best Practices
  15. Redis Sentinel Replication
  16. Preventing Cache Write Amplification under High Concurrency
  17. 대용량 지분율 데이터 처리 성능 개선과 동시성 제어 전략
  18. Redis 기반 인증 토큰 관리로 분산 환경의 인증 일관성 확보
  19. 대용량 엑셀 다운로드 요청을 안정적으로 처리하는 방법
  20. CPU부터 CDN까지: 모든 계층에서의 캐싱
  21. 캐시 스탬피드(Cache Stampede)
  22. Redis Cluster vs Sentinel

기술 블로그 리뷰

5편
  1. 쿠팡 「대용량 트래픽 처리를 위한 쿠팡의 백엔드 전략」 리뷰 — 캐시 두 겹과 '분 단위 99.99% 동일'이라는 문장, 그리고 그 0.01%를 누가 어떻게 세는가
  2. Martin Kleppmann 「How to do distributed locking」 리뷰 — 효율을 위한 락과 정확성을 위한 락, fencing token이 막는 것과 못 막는 것, 그리고 lease의 시계는 누구 것인가
  3. 네이버 D2 「@RequestCache: HTTP 요청 범위 캐싱을 위한 커스텀 애너테이션 개발기」 리뷰 — 캐시의 수명을 '요청 하나'로 맞추면 TTL 고민이 사라진다, 그리고 @RequestScope가 안 되는 이유
  4. LINE 「도메인에 의존하지 않는 채팅 플랫폼은 어떻게 만들었을까?」 리뷰 — 사용자를 모르는 채팅 플랫폼, 웹으로 만든 클라이언트, SOFT STOP으로 갈아 끼우는 챗봇 시나리오
  5. 카카오 「실시간 메시징 시스템 개발기」(3편) 리뷰 — Redis에 몰린 부하를 서버로 옮기고, 그 서버를 pprof로 세 번 깎은 이야기

컨퍼런스 발표 리뷰

8편
  1. SLASH 22 리뷰 - 토스증권 실시간 시세 적용기: 런칭 직전에 폴링을 WebSocket으로 바꾸고, 한 달 만에 200만 계좌를 받아 낸 기록
  2. SLASH 24 리뷰 - SSE 이벤트 푸쉬로 불필요한 Polling 제거하기: 3초 폴링을 이벤트로 바꾸고 브로커를 세 번 갈아탄 기록
  3. SLASH 23 리뷰 - 실시간 시세 데이터 안전하고 빠르게 처리하기: Kafka 15ms 대 Redis Pub/Sub 3ms, 그리고 22,000 TPS에서 1ms를 만든 이벤트 루프 설계
  4. SLASH 24 리뷰 - 대규모 사용자 기반의 마이데이터 서비스 안정적으로 운영하기: 클러스터 단위 서킷 코디네이터, 웹소켓 얼리 리턴, 7일 배치 분산
  5. SLASH 23 리뷰 - 토스뱅크의 모던 FEP: 전문을 Kotlin 어노테이션으로, 리플렉션 코덱, Netty 논블로킹, Redis 폴링으로 액티브-액티브
  6. SLASH 23 리뷰 - 은행 최초 코어뱅킹 MSA 전환기 (feat. 지금 이자 받기): 80회 DML을 50회로, MCI 대비 170배, 빅뱅 없는 전환
  7. SLASH 21 리뷰 - 토스 서비스를 구성하는 서버 기술: 두 데이터센터 사이의 트래픽 이동, Istio 도입 후 남은 것, Kafka 두 클러스터
  8. SLASH 21 리뷰 - SRE 사례 소개: Redis 리밸런싱 ASK 에러, Memcached 재분배 실패, Prometheus가 바꾼 GC 패턴