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

5km님의 프로필 이미지
5km

작성한 질문수

[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core

안녕하세요:) Websocket사용 용도 질문드립니다.

작성

·

261

0

강의 완강하고 요즘 연습하면서 한 가지 궁금증이 생겨서 질문드립니다.

websocket 사용 용도가 실시간 커뮤니케이션이라고 알고 있는데요

인스타그램으로 예를 들면 다른 사람을 팔로우하면 바로 팔로우 카운트가 실시간으로 올라가는 거랑

유튜브에 댓글들이 실시간으로 생기는 방식들이 전부 webscoket으로 구현하는 게 맞나요??

인스타처럼 상대방을 팔로우하면 제 팔로잉 카운트가 증가하는 동시에 상대방의 팔로워 카운트가 증가하는 로직을 만들었는데 곰곰이 생각해 보니 팔로우 카운트 증가는 제가 어떠한 http요청 없이 실시간으로 올라가고 내려가는데, 일반적인 api로직을 만드는 방식으로 하는 게 맞나 하는 의문이 생겨서 질문드렸습니다~

답변 1

0

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

님께서 질문하신 WebSocket 사용 용도에 대해 답변드립니다.

맞습니다, WebSocket은 실시간 커뮤니케이션을 위한 프로토콜로, 클라이언트와 서버 간에 양방향 통신을 가능하게 해줍니다. 인스타그램의 팔로우 카운트 변경이나 유튜브 댓글 업데이트와 같은 실시간으로 반응해야 하는 기능 구현에 WebSocket이 사용될 수 있습니다.

HTTP 요청 없이 실시간으로 데이터를 주고받는 것은 WebSocket 통신의 대표적인 예입니다. 일반적인 REST API로는 클라이언트가 서버에 주기적으로 요청을 보내 상태를 업데이트해야 하지만, WebSocket을 사용하면 서버로부터 바로 업데이트된 정보를 받아서 사용자 인터페이스에 반영할 수 있습니다.

스프링 부트 문서에 따르면, 스프링 부트는 spring-boot-starter-websocket 모듈을 통해서 MVC 웹 애플리케이션에서 쉽게 WebSocket을 지원하고, 이를 웹 리액티브 애플리케이션에서도 사용할 수 있도록 지원하고 있습니다. 자세한 내용은 아래 문서를 참고해주세요.

Spring Boot WebSocket Support

즉, 팔로우 카운트 변경과 같은 기능을 실시간으로 반응하게 만들기 위해서는 WebSocket을 활용한 구현이 적절할 수 있습니다.

도움이 되었기를 바라며, 추가적인 질문이 있으시면 언제든지 질문해주세요.

5km님의 프로필 이미지
5km

작성한 질문수

질문하기