블로그 글 가져오기

SSE 구현하기

GPT 설명

✅ 요약

개념 설명
SseEmitter Spring에서 SSE 연결을 유지하는 객체
text/event-stream 클라이언트 Accept 헤더에 포함해야 하는 값
onTimeout() / onCompletion() SSE 연결 종료 처리용 콜백
ConcurrentHashMap emitter 저장용 Thread-safe 자료구조
lastEventId 클라이언트 재접속 시, 이전 미수신 이벤트 처리용

전체 흐름에 맞춘 설계 예시

  1. [ A 서버 ] SSE 연결 API

    @GetMapping("/connect")
    public SseEmitter connect(@RequestParam String clientId) {
    		String eventId = clientId + "_" + System.currentTimeMills();