동기는 데이터를 요청 시, 요청한 데이터를 받을 때까지 기다리는 것이 동기입니다.
비동기는 동기와 반대로 데이터를 요청 시, 요청한 데이터를 받을 때까지 기다리지 않고 다른 일을 진행할 수 있습니다.
예시를 들자면, 줄이 긴 식당을 가기위해 예약을 걸어놓고 다른 가게를 찾으러 돌아다니는 것을 비동기, 돌아다니지않고 그 가게 앞에서 가만히 기다리는 것을 동기라고 생각하면 좋을 것 같습니다.
동기는 순차적으로 일이 진행되기에, 설계하는데 어려움이 적습니다. 반대로 데이터를 요청받을때까지 기다려야 하기 때문에 시간적인 부분에서 손해를 봅니다. 비동기는 다른업무를 할 수 있기에 시간을 아낄 수 있으나, 동기보다 설계를 하는데 어렵습니다.
그렇기에 동기는 계좌 송금과 같은 민감한 파트에 어울리며, 비동기는 페이지리로드 시 부분적인 데이터 변경을 적용할 때 어울리다. (ex ajax)
https://velog.io/@narangke3/%EB%8F%99%EA%B8%B0-%EB%B9%84%EB%8F%99%EA%B8%B0