강의

멘토링

로드맵

Inflearn brand logo image

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

soap님의 프로필 이미지
soap

작성한 질문수

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

CQRS 개념 & 게시글 조회 단건 최적화 전략 설계

24시간 이내의 최신글 API 설계 관련 질문

해결된 질문

작성

·

114

·

수정됨

0

쿠케님 안녕하세요!

그간 안녕하셨는지요. 몇 주 놀다가 다시 반성하고 각성 모드로 강의 시청 하고 있습니다.

 

Redis에 24시간 이내의 최신글을 저장하는거 까지는 이해했습니다!

그렇다면 레디스에 저장한 최신글은 프론트에서 어떻게 활용할수 있는 걸까요?

제가 생각한 아래 흐름이 맞는지 검토 부탁드립니다!

 

서버

  • 게시판 종류마다 24시간 이내의 최신글을 레디스에 저장

  • 게시판 종류와 데이터 개수를 request로 받는 최신글 API를 별도로 만듬

 

프론트

  1. 사이트의 메인 페이지 일부 화면에 특정 게시판의 최신글을 뿌려주는 요구사항이 존재

  2. 서버의 최신글 API를 호출하여 각 게시판 종류마다 최신글을 뿌려줌

 

감사합니다~!

 

 

답변 2

2

쿠케님의 프로필 이미지
쿠케
지식공유자

soap님, 안녕하세요!

 

일단 프론트는, “최신글이 레디스에 저장되었다”라는 사실을 알 필요가 없습니다.

프론트는 그저 서버에 데이터를 요청할 뿐이고, 서버는 요청 받은 데이터를 응답해주는 것입니다.

이 관점에 대해서 짧게 먼저 언급 드려봅니다.

 

1. 사이트의 메인 페이지 일부 화면에 특정 게시판의 최신글을 뿌려주는 요구사항이 존재

2. 서버의 최신글 API를 호출하여 각 게시판 종류마다 최신글을 뿌려줌

맞습니다. 게시글 목록 API에서 불러올 수도 있고(생성순 정렬이면 상위 N개면 어차피 최신글임), 최신글 API를 따로 만들 수도 있습니다.

서버는 요구사항에 알맞은 데이터만 뿌려주면 됩니다!

0

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

최신글을 레디스에 저장하고, 이를 프론트엔드에서 활용하는 방식에 대한 질문 주셨습니다. 구상하신 흐름은 매우 합리적으로 보이며, 실제로 많은 시스템에서 비슷한 방식으로 구현되고 있습니다.

Redis에서 최신글 저장 및 활용 방식 검토

  1. 서버 측면:

    • 각 게시판 종류마다 24시간 이내의 최신글을 레디스에 저장하여, 빠른 조회가 가능하게 합니다. 이는 데이터베이스에서 직접 쿼리하는 것보다 성능을 크게 향상시킵니다.
    • 작성하신 대로 게시판 종류와 데이터 개수를 요청 파라미터로 받아, 필요한 최신글만 반환하는 API 설계는 매우 효율적입니다. 이와 같은 API 구조는 확장성과 재사용성을 높이는 데 기여합니다.
  2. 프론트엔드 측면:

    • 메인 페이지 등에서 특정 게시판의 최신글을 표시하기 위한 요구사항을 충족하기 위해 최신글 API를 호출합니다.
    • 이렇게 함으로써, 사용자에게 빠르고 최신의 정보를 제공할 수 있으며, 사용자 경험을 개선할 수 있습니다.

추가 고려 사항

  • 데이터 동기화: 데이터의 일관성을 유지하기 위해, 데이터 변경이 있을 때마다 레디스의 데이터를 갱신하는 로직이 추가되어야 합니다.
  • 클라이언트 캐싱: 클라이언트 측에서도 캐싱을 통해 API 호출 수를 줄여 성능 향상을 이룰 수 있습니다.
  • 에러 및 대체 경로: Redis 서비스가 불가능한 경우를 대비해, 데이터베이스를 직접 조회하는 대체 로직도 함께 고려하시는 것이 좋습니다.

위 설명이 도움이 되셨길 바랍니다. 유사한 구성에 대한 질문과 답변으로는 다음과 같은 내용을 참고하시면 좋을 것 같습니다:
각 사용자는 게시글 1개당 1번 조회수 증가일 경우 설계 질문 드립니다.

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

soap님의 프로필 이미지
soap

작성한 질문수

질문하기