본문 바로가기
728x90

BE 개발/spring webflux2

Webflux 란? 1. WebFlux 1-1. 등장 배경 1. 기존 MVC 관점 기존 방식 서버에서 다른 요청을 못받는다. 이를 스레드를 늘려 시간을 쪼개서 일을 진행하는데 이 경우 context switching 문제가 생긴다. 문제점 A와 B에 멍때리는 시간이 존재한다. 그 시간에 다른일을 못한다. : 비동기 처리로 해결 물어봐야만 알고싶은 정보를 알 수 있다. : 응답을 유지하여 해결 비동기 처리 DB가 서버에게, 서버가 클라이언트에게 즉각적인 응답을 해준다. 서버는 이 이후 다른 일을 진행할 수 있다. 서버는 미처 처리하지 못한 이벤트를 기억해야 하고 이를 이벤트 루프에 저장하여 기억한다. 이벤트 루프덕분에 서버는 여러가지 요청을 동시에 받고 기억할 수 있어 비동기 처리가 가능해진다. 응답 유지 Stream을 .. 2022. 5. 15.
동기 / 비동기 / 블록킹 / 논블록킹 동기 / 비동기 / 블록킹 / 논블록킹 블록킹/논블록킹 기술적으로 명확히 구분 가능 A라는 함수를 실행했을 때, A라는 함수가 모든 행위를 끝마칠 때까지 기다렸다가 다른 함수가 실행 : 블록킹 A라는 함수를 호출했는데, A라는 함수의 로직이 끝나기도 전에 B라는 함수가 실행 : 논블록킹 동기/비동기 보통 추상적으로 구분된다. (행위에 대해) 동기 순차적으로 처리된다. 블록과 유사하나, 차이점은 결과를 확인한다는 것 호출된 함수의 수행 결과 및 종료를 호출된 함수 뿐 아니라 호출한 함수도 함께 신경쓰면 동기 비동기 결과 확인과 무관하게 계속 진행 호출된 함수의 수행 결과 및 종료를 호출된 함수 혼자 직접 신경쓰고 처리하면 비동기 2022. 5. 15.
728x90