강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

kekim님의 프로필 이미지
kekim

작성한 질문수

김영한의 실전 데이터베이스 - 설계 2편, 실무에서 반드시 마주치는 9가지 설계 패턴

공통 코드의 단점 해결 방안 2

공통 코드에서 Redis Pub/Sub은 최근 실무에서 쓰이진 않나요?

작성

·

22

0

Redis Pub/Sub 구독을 통해 Redis 갱신 시 Sub로 구독 중인 각 서버에 캐시 무효화 및 강제 갱신 시키는 구조는 잘 안쓰이나요?
이 방법도 네트워크 순단 시 fire and forget, 구현 복잡도가 높음 등의 문제가 있긴한데 실무에서는 Pub/Sub을 잘 안쓰는지 궁금합니다.

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. kekim님.

질문해주신 Redis Pub/Sub을 활용한 캐시 무효화 및 강제 갱신 구조에 대해 답변드리겠습니다. Redis Pub/Sub는 실시간으로 데이터가 변경될 때 여러 서버에 신속히 알릴 수 있는 장점이 있어 실무에서 사용되는 기술 중 하나입니다. 그러나 언급하신 것처럼 네트워크 단절 시 구독 메시지를 놓칠 위험이 있고, Pub/Sub 시스템을 구현하고 관리하는 데 있어 고려해야 할 복잡한 부분이 다수 존재합니다.

실무 활용 사례

실제로 Redis Pub/Sub을 사용할지 여부는 사용하는 시스템의 요구사항에 따라 달라질 수 있습니다. 특히, 데이터 일관성과 정합성이 중요한 시스템에서는 Pub/Sub 대신 메시지 대기열(Message Queue)과 같이 메시지 지속성을 보장할 수 있는 다른 방법을 선택하기도 합니다.

  1. 일관성이 중요한 경우: 캐시 무효화 및 데이터 갱신이 실시간으로 이루어져야 하고 데이터 정합성이 중요할 경우, Pub/Sub를 단독으로 사용하지 않거나, 보조적인 다른 시스템과 연계하여 사용하는 경우가 많습니다.

  2. 시스템 설계 고려사항: Pub/Sub는 매우 빠른 데이터 반응과 처리가 중요하지만 일정 수준의 데이터 유실 가능성을 허용할 수 있는 환경에서 유용합니다. 만약 데이터 유실이 허용되지 않는다면 다른 솔루션과의 결합이 필요합니다.

  3. 케이스별로 다른 선택: 경량 메시지 통신이 필요한 경우에는 Pub/Sub이 적합할 수 있지만, 메시지 손실 방지와 같은 기능이 필요하다면 Apache Kafka, RabbitMQ 등의 대안도 고려됩니다.

추가로 유사 질문 URLs:

많은 사용자들이 비슷한 질문을 갖고 있으며, 다음과 같은 게시글에서 유사한 고민을 해결할 수 있는 내용을 확인할 수 있습니다.

이 외에도 추가적인 방법이나 솔루션에 대해 궁금하신 점이 있으면 이어서 질문해 주시기 바랍니다. 곧 지식공유자께서 더 나은 방향으로 답변드릴 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

kekim님의 프로필 이미지
kekim

작성한 질문수

질문하기