programing

Spring-Boot: 여러 요청 동시 처리

minimums 2023. 7. 22. 09:54
반응형

Spring-Boot: 여러 요청 동시 처리

Spring Boot을 사용하여 RESTful서비스를 구축하고 있습니다.제 아이디는 이클립스 산소입니다.

나는 크롬통해 2초마다 여러 개의 HTTP get 요청을 보내지만, 하나씩 트리거됩니다.각 요청은 이전 요청이 완료될 때까지 기다립니다.

다음은 내 컨트롤러 코드입니다.

@RestController
@RequestMapping("/dummy")
public class DummyController {
    @RequestMapping(method = RequestMethod.GET)
    public ResponseEntity<Map<String, String>> dummytsp(@RequestParam(value="msg", defaultValue="Hello") String msg) {
        System.out.println("" + new Date() + ": ThreadId " + Thread.currentThread().getId());

        try {
            Thread.sleep(5000);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        Map<String, String> response = new HashMap<>();
        response.put("message", msg);
        return new ResponseEntity<>(response, HttpStatus.OK);
    }
}

콘솔 출력은 다음과 같습니다.

Thu Sep 14 11:31:15 EDT 2017: ThreadId 25
Thu Sep 14 11:31:20 EDT 2017: ThreadId 26
Thu Sep 14 11:31:25 EDT 2017: ThreadId 28
Thu Sep 14 11:31:30 EDT 2017: ThreadId 30

콘솔 출력에는 컨트롤러가 5초마다 호출되는 것으로 표시됩니다.하지만 저는 2초마다 요청을 보내고 있습니다.

들어오는 여러 요청을 동시에 처리하려면 어떻게 해야 합니까? (2초마다 콘솔 출력을 확인해야 합니다.)

업데이트:

제가 다른 브라우저로 요청을 보내면 완벽하게 작동합니다.세션을 공유하는 동일한 브라우저/애플리케이션에서 테스트하면 문제가 발생합니다.

동일한 세션에서 여러 개의 동시 요청을 수락할 수 있습니까?

감사합니다!

기본적으로 Spring Boot 웹 응용 프로그램은 멀티 스레드이며 여러 요청을 동시에 처리합니다.

이것은 브라우저별 특이점일 수 있습니다.Windows 10에서 Chrome & Firefox는 여러 요청을 동일한 URL로 큐잉하는 것처럼 보이지만 IE, Edge 및 curl은 그렇지 않습니다.

언급URL : https://stackoverflow.com/questions/46223363/spring-boot-handle-multiple-requests-concurrently

반응형