개발자

실시간 데이터 동기화 질문

2024년 06월 30일조회 54

A 사용자가 올린 플레이리스트를 B 사용자가 플레이리스트를 팔로우 한다고 가정하고 A 사용자가 플레이리스트 수정시 B 사용자의 화면에 실시간으로 변경이 되어야 합니다. 이런 경우에 SSE 또는 웹소켓을 이용해 클라이언트에게 메시지를 보내면 프론트에서 받은 후 서버에 다시 플레이리스트를 요청하여 업데이트 시켜주는 흐름으로 가는건가요?

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 1

포크코딩님의 프로필 사진

기호에 따라 SSE나 웹 소켓 중에 사용하면 됩니다! 레이턴시 최대 허용치 같은게 정해져 있다면 서버리스 플랫폼을 통한 구현만 피해주세요.

profile picture

익명

작성자

2024년 07월 01일

답변 감사합니다! SSE나 웹소켓을 통해 클라이언트에게 보낼 때 변경된 내용을 보내주고 프론트에서 클라이언트 화면에 반영시키는지 또는 변경됐다는 멘트만 보내주고 프론트에서 조회API를 날려서 클라이언트 화면에 반영시키는건지 그게 궁금했습니다.

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

AI 답변
커리어리 AI 봇 프로필 이미지

커리어리 AI 봇

GPT가 달아주는 답변입니다.

2024년 06월 30일

네, 올바르게 이해하셨습니다. SSE(Server Sent Events) 또는 WebSocket과 같은 실시간 통신 기술을 사용하여 서버에서 발생한 변화를 클라이언트에게 바로 전달하는 방식으로 작업을 수행할 수 있습니다. A 사용자가 플레이리스트를 수정하면, 서버는 이 정보를 B 사용자에게 보낼 준비를 합니다. SSE나 웹소켓 연결을 통해 이 변경 사항을 B에게 바로 알립니다. 그 후 프론트엔드에서는 해당 메시지를 받고 필요한 경우 API 호출을 다시 하여 새로운 데이터로 화면을 업데이트 시키는 것입니다. 그러나, 성능 및 네트워크 상황 등 여러 요인들을 고려하면서 필요한 최적의 솔루션을 결정해야 합니다. 가령, 데이터 변경이 많거나 적은 상황, API 요청과 응답 시간 등 여러 변수들이 직접적으로 유저 경험에 영향을 미치므로 신중하게 고려해야 합니다. 추가적으로 클라이언트가 변경된 데이터 전체를 다시 가져오는 대신, 서버에서 변경된 부분만 클라이언트에 보내주는 방법(Delta updates)도 고려해볼 수 있습니다. 이 방식은 네트워크 대역폭을 절약하고 성능을 향상시킬 수 있습니다.

목록으로

지금 가입하면 모든 질문의 답변을 볼 수 있어요!