Redis와 Kafca의 Pub/Sub 차이
2
작성한 질문수 1
항상 좋은 강의 감사합니다.
Redis와 Kafca의 Pub/Sub 차이가 궁금합니당.
예를 들어, 인스타 라이브에서 사용자의 리액션 좋아요를 Redis에 두고 post로 좋아요를 업데이트 칠 때, MYSQL 좋아요 수도 같이 증가하기 위해 Redis와 Kafca의 Pub/Sub 의 차이점이 있을까요?
좋아요 api가 redis의 좋아요 수 증가 > kafca 메시지 발행 > mysql 구조라 가정했을 때, 대규모트래픽에서 kafca와 redis의 Pub/Sub의 차이랑 뭐가 더 적절한 선택인지 궁금합니다.
감사합니다.
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. rainbow8956님.
질문해 주신 Redis와 Kafka의 Pub/Sub에 대한 차이점에 대해 설명드리겠습니다. 두 시스템 모두 메시지 전송을 위한 Pub/Sub 방식으로 사용되지만, 각자의 특성과 강점에서 차이가 있습니다.
Redis Pub/Sub
- 단순성: Redis의 Pub/Sub는 매우 간단하고 가벼운 방식으로 구성되어 있습니다. 높은 처리 속도를 필요로 하고, 시스템 간 데이터 동기화나 즉각적인 데이터 배포가 필요할 때 유용합니다.
- 비영구성: 메시지가 전송되면 이후에는 저장되지 않으며, 수신하지 못한 클라이언트는 메시지를 나중에 받을 수 없습니다. 즉, 일시적인 메시지 교환에 적합합니다.
- 실시간 통신: 낮은 지연 시간과 빠른 전송 속도로 실시간 통신이 요구될 때 적합합니다.
Kafka Pub/Sub
- 내구성 및 안정성: Kafka는 메시지를 로그에 기록하여 영구적으로 저장하고, 특정 시점으로 되돌아갈 수 있는 기능을 제공합니다. 즉, 대량의 데이터 스트림을 처리하고, 데이터 손실 없이 메시지를 수신해야 할 때 유용합니다.
- 고급 토픽 관리: Kafka는 복잡한 데이터 스트림을 관리하고, 각 토픽에 대해 다양한 파티셔닝 및 복제 옵션을 제공합니다.
- 대규모 확장성: 대규모 트래픽 처리 및 확장에 적합하며, 수많은 소비자와 프로듀서 간의 연결을 효율적으로 관리할 수 있습니다.
선택 시 고려할 점
- 실시간 처리: 메시지가 즉시 처리되어야 하고, 낮은 지연 시간이 중요할 경우 Redis가 적합합니다.
- 데이터 보존: 메시지의 지속성과 복구가 중요하거나, 메시지의 재처리가 필요한 경우 Kafka가 유리합니다.
- 트래픽 규모: 매우 큰 규모의 데이터 전송 및 처리가 필요할 때는 Kafka가 더 나은 선택일 수 있습니다.
결론적으로, 좋아요 업데이트와 같은 실시간 반응의 경우 Redis가 빠르고 효율적인 선택이 될 수 있지만, 메시지의 영구 저장 또는 복구가 필요하다면 Kafka를 고려해볼 수 있습니다.
아래는 관련 정보를 얻을 수 있는 링크입니다:
- Redis Container 해킹: Redis 및 다른 데이터베이스를 활용하는 팁을 확인할 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
27강 슬랙 테스트 부분도 누락된 것 같네요
1
17
2
22강 케글 연동 강의내용 누락된듯해요
1
19
2
한국투자증권 미국 주식 매매 수수료와 환전 수수료가 높은 경우 자동매매 베개투자법을 적용해도 괜찮을까요?
0
37
2
스크립트를 한번에 복사하고 싶습니다.
0
30
2
@Version 어노테이션이 붙은 필드는 낙관적 락이든 비관적 락이든 업데이트가 됩니다.
0
34
1
너무 흥미진진합니다..
1
37
2
SP를 아직도 사용하나요?
0
39
2
캐시전략 - Write-behind
0
40
2
모델 서빙과 관련된 강좌 출시 예정된 바가 있으신지 여쭤봅니다!
0
41
2
순위가 동률일 때의 처리에 대해 질문드립니다.
0
56
2
Singleton 관련 질문입니다.
1
68
2
Service Create/Update Record 운용과 Delete Record 미운용의 차이 질문
0
26
1
조회속도 개선에서 더 개선하는 방법이 궁금합니다.
0
50
2
라우팅 테이블 설정 중 궁금한게 있습니다.
0
47
1
user-service jwt
0
48
2
애그리거트 질문있습니다!
0
45
2
Redlock 알고리즘 관해 궁금한게 있습니다!
0
70
2
좋아요/조회수 카운팅 병목현상에 대해서 궁금한점이 있습니다.
0
52
2
Agent Builder 서비스가 보이지 않아요
0
31
1
백엔드 서버 코드 변경에서 프론트엔드 서버가 값을 파싱하지 못하는 문제
0
98
1
강사님 GETDEL 관련해서 질문 있습니다
0
109
2
비밀번호를 걸고 실행된 레디스 서버에 lua 스크립트를 등록하는 경우
0
93
2
보안 설정을 한 수강생들은 Connection Settings에 비밀번호를 넣어야 추가되네요
0
75
2
Redis Container 해킹
0
121
1





