Project 2

실시간 시세를 초고속으로 처리하는 Redis 캐싱과 Pub/Sub 도입

지난 번에 웹소켓에 대한 설명에 이어 이번에는 저희 프로젝트에서 처리량과 지연 시간 부분에서 큰 역할을 한 Redis에 대해서 설명하겠습니다. 1. 도입 배경: 왜 Redis가 필요했나웹소켓을 통해 실시간 통신 환경을 구축했지만, 또 다른 병목 현상이 기다리고 있었습니다. 바로 데이터베이스(RDB)의 부하였습니다.캐싱의 필요성: 초당 수만 건의 시세 조회 요청을 매번 PostgreSQL 같은 RDB로 처리한다면 응답 속도가 현저히 느려지고 서버는 금방 한계에 도달합니다.서버 간 동기화 문제: 프로젝트 규모가 커지며 모놀리식 구조에서 MSA(Microservices Architecture)로 전환할 때, 여러 대의 서버 인스턴스 간에 실시간 데이터를 어떻게 일관성 있게 공유할 것인가라는 숙제가 생겼습니다...

Project 2026.03.16

실시간 시세 서비스를 위한 WebSocket 도입

오늘 소개해볼 주제는 웹소켓입니다. 가상 화폐 거래소 프로젝트 진행중 기존의 HTTP 방식으로는 원활한 실시간 시세 반영이 쉽지 않다고 느껴 도입을 하였던 기술입니다.1. WebSocket이란?WebSocket은 단일 TCP 연결을 통해 서버와 클라이언트 간의 전이중(Full-Duplex) 통신을 지원하는 프로토콜입니다. 일반적인 웹 서비스가 요청이 있을 때만 응답하는 '수동적'인 구조라면, 웹소켓은 한 번 연결되면 양방향으로 자유롭게 데이터를 주고받는 '능동적'인 전용선을 까는 것과 같습니다. 그렇다면 왜 기존 HTTP 요청 방식이 무리가 있다고 느꼈을까? 2. 기존 HTTP 요청 vs WebSocket우리가 흔히 쓰는 HTTP 통신과 웹소켓은 주도권과 효율성 면에서 큰 차이가 있습니다. HTTP ..

Project 2026.03.16