[프로젝트 회고] Redis

Lee·2022년 5월 2일
0

항해99

목록 보기
50/50

Redis

메시지 브로커

  • 많은 데이터들을 안전하고 효율적으로 전달하기 위해 사용
  • 서버로부터 메시지를 받아, 비동기적으로 클라이언트에게 안전하게 전달해주는 역할을 하는 미들웨어
  • 보통의 경우, 서버로부터 메시지를 전달받아 큐에 보관한 뒤, 알맞은 클라이언트에게 전달해주는 메시지 큐 구조의 메시지 브로커 사용

외부 메시지 브로커 사용 이유

  • scale out 상황에서 내장된 메시지 브로커를 사용시 서로 다른 서버간 메시지 전송이 불가능
  • 이를 해결하기 위해 외부 메시지 브로커를 사용해 서로 다른 서버간에도 메시지 전송이 가능하도록 사용

Pub/Sub

  • 레디스는 메시지를 큐에 저장하지 않고, 클라이언트에게 메시지를 전달한 후 삭제
  • 클라이언트가 하나의 topic을 구독하고, 해당 topic으로 발행되는 메시지들을 받는 구조

Redis 사용이유

  1. 빠른 속도
    • DB 접근 전에 메모리에서 Cache를 가져다 쓰기 때문에 빠르다.
  2. 메시지 크기
    • 이번 프로젝트에서는 채팅방에 속해있는 인원들에게 작은 크기의 메시지를 수신하면 되기 때문에 RabbitMQ나 Kafka 보다 Redis를 선택
profile
발전하고 싶은 백엔드 개발자

0개의 댓글