동기 vs 비동기

kingyong9169·2021년 8월 23일
0

기술면접스터디

목록 보기
4/6

동기(Synchronous)

  1. 요청과 결과가 한 자리에서 동시에 일어난다. 요청을 하면 처리 시간에 관계없이 요청한 자리에서 결과가 주어져야 한다. 즉, 직렬적으로 업무를 수행한다.
  2. A 노드와 B 노드 사이의 작업 처리 단위(transaction)을 동시에 맞춰야 한다.
    ex - 카페에서 주문을 받을 때 하나하나 차근차근 주문을 받음. 한 사람 주문-제작이 모두 이루어지고 나서 다음 사람의 주문을 받음.

비동기(Asynchronous)

  1. 요청과 그 결과가 한 자리에서 동시에 일어나지 않는다. 즉, 앞선 업무가 종료되지 않은 상태여도 대기하지 않고 다음 업무를 실행한다. 즉, 병렬적으로 업무를 수행한다.
  2. 노드 사이의 작업 처리 단위를 동시에 맞추지 않아도 된다.
    ex - 카페에서 주문을 받을 때 주문과 제작을 동시에 한다.

동기와 비동기의 장단점

동기

설계가 간단하고 직관적이다. 하지만 결과가 주어질 때까지 아무것도 못하고 대기해야 한다.

비동기

동기보다는 복잡하지만 결과를 얻기까지 시간이 걸리더라도 그 시간동안 다른 작업을 할 수 있으므로 자원을 효율적으로 사용할 수 있다.

profile
Detail makes difference.

0개의 댓글