
[Node.js] 실시간 진행 상황을 사용자에게 보여주기 – SSE(Server-Sent Events) 적용기
·
Node.js
1. 왜 실시간이 필요했을까?최근, 엑셀 파일을 업로드하면 Cosmos DB와 Blob Storage를 활용해 데이터를 조회하고 결과를 반영한 엑셀을 다시 다운로드할 수 있는 기능을 개발했습니다.기능 자체는 잘 작동했지만, 처리량이 많거나 엑셀 파일이 클 경우, 서버 측 처리 시간이 10초 이상 걸리는 경우가 잦았습니다.그런데 문제는…사용자 입장에서는 아무런 피드백도 없이 ‘기다리기만’ 해야 한다는 것이었습니다.UX 문제사용자: “지금 서버가 멈춘 건가?”, “정상적으로 처리 중인가?”개발자: “처리 시간 동안 아무런 정보를 주지 못해 답답…”이 문제를 해결하기 위해 실시간으로 상태를 전달하는 방법을 고민하다가 SSE(Server-Sent Events)를 도입하게 되었습니다.2. 기존 방식의 한계처음에는..