부트캠프

66일차 TIL

ohs020105 2025. 2. 7. 20:12

트러블슈팅: 실시간 통신을 위한 웹소켓 도입

문제 상황

초기 프로젝트에서는 클라이언트와 서버 간 HTTP 통신을 통해 데이터를 주고받도록 구현하였습니다. 그러나 카드 생성 등의 이벤트를 실시간으로 반영해야 할 필요성이 생겼고, HTTP 방식만으로는 이를 효율적으로 처리하기 어려웠습니다.

시도한 해결 방법

웹소켓을 도입하여 실시간 양방향 통신이 가능하도록 개선하였습니다.

  • 서버에서 카드 생성 시 card.created 이벤트를 발생시키고, eventEmitter2와 @OnEvent 데코레이터를 활용하여 이벤트를 처리한 후, 웹소켓을 통해 클라이언트로 전송하였습니다.
  • 클라이언트에서는 cardCreated 이벤트를 수신하여 데이터를 즉시 반영하도록 구현하였습니다.

결과 및 개선점

웹소켓을 통해 사용자는 카드 생성 이벤트를 실시간으로 확인할 수 있게 되었고, 여러 디바이스에서 동일한 알람을 관리하는 기능도 추가할 수 있었습니다. 이를 통해 사용자 경험이 크게 향상되었습니다.

배운 점 및 향후 계획

이번 경험을 통해 실시간 통신의 중요성을 체감하였으며, 웹소켓을 활용한 다양한 기능을 추가할 계획입니다. 앞으로도 실시간 상호작용이 필요한 서비스에서 웹소켓을 적극 활용할 예정입니다.

'부트캠프' 카테고리의 다른 글

67일차 TIL (면접카타 1일차)  (0) 2025.02.10
WIL  (0) 2025.02.07
65일차 TIL  (1) 2025.02.07
64일차 TIL  (0) 2025.02.05
63일차 TIL  (0) 2025.02.04