Springboot
Springboot_ Redis SSE 작업
JunsC
2024. 6. 2. 22:06
728x90
실시간으로 데이터 주고 받으면서 사용자들에게 좋은 경험을 만들어 주고 싶었다.
예를 들면, SNS 에서 누가 내 게시물을 좋아요 할때 바로 알림이 뜨게 하는 기능이다.
그래서 Socket , WebSocket , Kafka , SSE 등 여러가지 양방향, 단방향 통신 기능을 찾아보게 되었고 우선 Redis를 이용한 SSE 를 선택했다.
서버기준에서 클라이언트 단방향 통신이여서 불필요한 데이터 교환을 줄일 수 있었고, 클라이언트에서 딱히 서버쪽으로 보낼 데이터도 없었기 때문에 적합하다고 생각했다.
https://stonehee99.tistory.com/30
https://tecoble.techcourse.co.kr/post/2022-10-11-server-sent-events/
이 사이트들이 도움이 되었다.
자바스크립트로 되어 있는 부분도 있는데 어차피 대충 다 알아서 참고했다.
하지만 SSE를 실제로 적용하고 나서 생각해보니 , 만약 앱이 구독을 끊고 있을때 서버에서 어떤 데이터를 보내면 그 데이터는 보내는 것에서 바로 끊나기 때문에 보존할 수 가 없었다.
나는 보존 후 나중에 다시 데이터 전달을 해야되는 상황이기에 카프카 로 진행해야겠다고 생각이 들었다.
그래서 다음엔 카프카로 .... ㅋㅋ