반응형

longpolling

    Spring 비동기 프로세스 Callable, DeferredResult, SseEmitter

    Callable Spring MVC 3.2는 Servlet 3를 기반으로한 비동기 요청 프로세스를 공개했다. 이 프로세스는 보통 값을 바로 반환하는 것 대신에 컨트롤러는 java.util.concurrent.Callable를 먼저 반환하고, Spring에서 관리하는 별도의 Thread에서 값을 반환한다. 위의 과정을 진행하는 동안 주요 Servlet Container Thread는 해당 요청에서 벗어나서 다른 Request를 받을 수 있게 벗어난다. 그리고 Spring MVC는 TaskExecutor의 도음으로 각각에 Thread에서 Callable 작업을 실행한다. 그리고 Callable 작업이 종료된 후 Callable 객체를 반환한다. 그럼 다시 요청이 Servlet container로 돌아가게 되..

    longpolling 방식 소개 및 comet 방식과의 차이점 설명

    Comet 기존의 지속적인 갱신을 위해서는 Polling이라고 불리는 일정 간격으로 서버에 요청을 보내서 바뀐 내용을 조회하는 방식이였지만 이 방식을 리얼타임 수준으로 갱신하려면 간격을 줄여야 해서 불편하였다. 반면Ajax Push라고도 불리는 Comet은 Long Polling 과 Streaming 방식 두 가지를 제공한다.1) Long Polling클라이언트가 요청을 보내면 서버에서 이벤트가 발생할 때까지 응답을 하지 않고 가지고 있다가 이벤트가 발생하면 응답을 하고 다시 클라이언트에서 요청이오면 응답을 하는 구조로 되어있다.2) Streaming요청을 최초의 한번 보내면 Chunk데이터를 통해서 이벤트가 있을 때마다 계속 클라이언트에 데이터를 보내준다.

반응형