Synchronous(동기)
- 여러 작업(task)들을 순차적으로 실행하는 방법
- block I/O(요청자가 I/O 완료까지 챙겨야 할 때)
Asynchronus(비동기)
- 여러 작업들을 독립적으로 실행하는 방법
- 동기 방식으로 개발하는 방법보다 비동기 방식이 더 빠름
- 멀티스레딩과 같은 개념이 아님
- non-block I/O(완료를 noti 주거나 callback으로 처리)
- asynchronus I/O: block I/O를 다른 thread에서 실행
백엔드 관점에서 동기/비동기 방식
- 동기 방식의 단점 하나의 이벤트에서 에러가 발생하면 서비스 전체적으로 장애가 발생할 수 있다.
- 동기 방식의 문제점을 해결하기 위해 비동기 방식을 사용 일부 서비스에서 문제가 발생해도 전체적인 서비스의 문제가 생기지 않음.
좋은 정보 얻어갑니다, 감사합니다.