
백엔드
Redis sub/pub 를 통한 scale out에 유연한 서버 간 통신 구조 만들기
두줄요약
SSH 기반 작업 지시 구조의 병목을 Redis Pub/Sub로 완화하는 방법을 다뤘습니다. 비동기 통신과 가변적인 worker 구성에 맞는 설계 방향을 제시했습니다.
문제 상황
- SSH 기반 인스턴스 작업 지시 구조에서 대량 작업 시 병목 발생
- 다수 클라이언트 서버와 가변적인 worker/pod 환경을 유연하게 다뤄야 하는 요구
선택 이유
- 기존 시스템에서 빠르게 변경 가능한 구조 필요
- latency보다 확장성과 비동기 처리, 로깅과 유지 보수 용이성이 더 중요한 조건
- Redis Pub/Sub이 간단한 구조와 다양한 언어 지원 측면에서 적합
적용해볼 점
- publisher/subscriber 분리로 서버-인스턴스 간 비동기 통신 구성
- 상시 channel subscribe worker를 두어 가변적인 구성 대응
- 작업 큐와 결과 채널을 나눠 처리 흐름 단순화
