1. 동기/비동기 통신
출처: https://khj93.tistory.com
2. 동기식 통신
- 요청(Request)을 보낸 후 응답(Response)을 받을 때까지 기다리는 방식.
- 요청과 응답이 동시에 일어나는 것처럼 순차적으로 처리됨.
장점
- 요청과 응답의 순서가 보장되어, 요청에 대한 명확한 처리 결과를 받을 수 있음.
- 데이터 처리에 있어 일관성과 신뢰성을 유지할 수 있음.
단점
- 응답이 지연될 경우 요청을 보낸 스레드는 다른 작업을 수행할 수 없는 블록 상태가 됨.
- 블록 상태로 인해 시스템의 성능 저하가 발생할 수 있음.
3. 비동기식 통신
- 요청을 보낸 후 응답을 즉시 기다리지 않고 다른 작업을 수행할 수 있는 방식.
- 요청과 응답이 비동기적으로 처리됨.
장점
- 응답을 기다리지 않고 즉시 다른 작업을 수행할 수 있어 높은 효율성과 성능을 제공함.
- 여러 요청을 동시에 처리할 수 있어 시스템의 처리량을 증가시킬 수 있음.
단점
- 요청과 응답의 순서가 보장되지 않아 처리 결과의 순서가 뒤바뀔 수 있음.
- 처리 결과에 의존하는 서비스에는 부적합할 수 있음.
4. 비동기와 논블로킹의 차이
- 비동기는 반환 값을 기다리지 않고 즉시 다른 작업을 수행하는 것
- 논블로킹은 제어권을 넘기지 않고 다른 작업을 실행하는 것