04.10 TIL
2023. 4. 10. 17:26ㆍ개발일지
SSE를 서버에 배포한 후 45초마다 연결이 끊기는 상황 발생
SSE에 주기적으로 신호를 보내서 연결을 확인해주는 hearbeat를 보내는 메서드를 추가해서 연결이 유지되도록 변경
Runnable heartbeatTask = () -> {
try {
String heartbeatMessage = "event: heartbeat\ndata: \n\n";
emitter.send(heartbeatMessage);
} catch (IOException e) {
emitter.complete();
executor.shutdown();
}
};
주기적으로 빈 이벤트를 보내는 태스크를 먼저 생성했다.
executor.scheduleAtFixedRate(heartbeatTask, 0, 10, TimeUnit.SECONDS);
heartbeat를 보통 10~30초 사이에서 정하는경우가 많다고 한다.
시스템이 높은 실시간성이 필요한 경우, 더 짧은 Heartbeat 주기가 필요하고. 대규모 데이터를 처리하거나 복잡한 연산을 수행하는 경우에는 더 긴 주기를 선택한다.
'개발일지' 카테고리의 다른 글
04.15 TIL (서버) (0) | 2023.04.15 |
---|---|
04.12 TIL(Querydsl 성능 향상) (0) | 2023.04.13 |
04.09 TIL (테스트 코드) (0) | 2023.04.09 |
04.08 TIL (테스트 코드) (0) | 2023.04.09 |
04.07 (Refactoring) (0) | 2023.04.07 |