카프카 + Sse 예제 (2) - Sse 알림 기능

jinvicky·2023년 10월 23일
0

Spring & Java

목록 보기
8/23

Overview


풀링과 웹소켓의 차이를 알고 sse와 비교해보자.

풀링 : 가장 기본. request와 response의 핑퐁으로 요청, 응답이 이루어지고 송/수신자가 누구인지 매번 확인한다.

웹소켓 : client, server 간에 커넥션을 맺고, 커넥션이 지속되는 동안, 서로의 연결을 찾아서 재설정할 필요가 없어서 풀링보다 효과적이다. (3-way handshake)

sse : 웹소켓처럼 커넥션을 맺고, server에서 변경이 생길 때마다 server -> client로 데이터를 전송한다.
응답마다 다시 요청을 할 필요가 없고, 업데이트된 데이터만 서버가 전송하는 실시간 데이터 스트림에 적합하다. 단순 순수 데이터만 전송되기 때문에 header의 오버헤드 해결, 헤더 캐싱 역할이 가능하지만, 구버전 브라우저 호환이 안된다는 점.

참고로 ajax는 소켓이 아니다. ajax는 풀링, 롱풀링, 스트리밍으로 나뉘는 풀링 중 하나이다.
즉 ajax는 1 + Contetns-header, 2 + Contetns-header, 3 + Contetns-header ... 999 + Contetns-header 란 식으로 쓸데없는 더미 트래픽이 계속 발생하는 문제점이 있다.

sse의 경우 아래 블로그로 공부했다.

Reference


https://dkswnkk.tistory.com/702
https://glqdlt.tistory.com/145

profile
Front-End와 Back-End 경험, 지식을 공유합니다.

0개의 댓글