보통은 Socket.IO + Redis 조합을 가장 많이 사용합니다.
간단하고 확장 가능하며, 서버 내에서 유연한 로직 처리가 가능하기 때문이에요.
✅ 백엔드 개발자가 많이 사용하는 실시간 서버 기술
1. Socket.IO (Node.js)
- 가장 대중적인 웹소켓 라이브러리
- 실시간 채팅, 알림, 위치 공유 등 다양한 기능 구현에 적합
- Express.js 등과 함께 많이 사용
- 클라이언트와의 연결 상태 추적, 재연결 등 부가기능도 많음
- 프론트엔드 + 백엔드 모두 JavaScript로 통일 가능하다는 장점
2. WebSocket API (Raw / low-level)
- 브라우저가 기본 제공하는 WebSocket 인터페이스 사용
- Socket.IO보다 더 가볍고 낮은 수준
- 모든 프로토콜 구현을 수동으로 다뤄야 해서 복잡도는 ↑
3. Redis + Pub/Sub
- 실시간 알림이나 메시지 브로드캐스트를 여러 서버 간에 공유할 때 사용
- Redis의 pub/sub 기능은 Socket 서버 확장 시 자주 사용
- 보통 WebSocket 서버와 조합해서 사용
4. Firebase Realtime Database / Firestore
- 백엔드가 없어도 가능하지만, 백엔드와 병행하여 hybrid 형태로 사용되기도 함
- 완전 매니지드 서비스라 개발 속도가 빠름
5. GraphQL Subscriptions (Apollo + WebSocket)
- GraphQL을 사용하는 프로젝트에서 실시간 기능을 구현할 때 사용
- Apollo Server와 WebSocket 연결 필요
- 복잡도는 있지만, 데이터 흐름이 통일됨
댓글