동기와 비동기

김형준 Kim Hyeong Jun·2023년 2월 16일
0
post-thumbnail

데이터를 처리하는 방식인 동기와 비동기에 대해 알아보자.

동기(Synchronous)와 비동기(Asynchronous)

동기(Synchronous) : 동시에 일어나는

  • 동기 방식은 서버에서 요청을 보냈을 때 응답이 돌아와야 다음 동작을 수행할 수 있다. 즉 A작업이 모두 진행될 때까지 B작업은 대기해야한다.

  • 요청을 하면 시간이 얼마가 걸리던지 요청한 자리에서 결과가 주어져야 한다.

-> 요청과 결과가 한 자리에서 동시에 일어남.
-> A노드와 B노드 사이의 작업 처리 단위(transaction)를 동시에 맞추겠다.

비동기(Asynchronous) : 동시에 일어나지 않는

  • 비동기 방식은 요청을 보냈을 때 응답 상태와 상관없이 다음 동작을 수행할 수 있다. 즉 A작업이 시작되면 동시에 B작업이 실행된다.

  • 요청과 응답이 다른 시간대에 존재하기 때문에, 요청 내용에 대해 지금 바로 혹은 당장 응답받지 않아도 된다.

-> 요청한 그 자리에서 결과가 주어지지 않음.
-> 노드 사이의 작업 처리 단위를 동시에 맞추지 않아도 된다.

장점과 단점

동기(Synchronous)

장점 : 설계가 매우 간단하고 직관적임
단점 : 결과가 주어질 때 까지 아무것도 못하고 대기해야 함

비동기(Asynchronous)

장점 : 결과가 주어지는데 시간이 걸리더라도 그 시간 동안 다른 작업을 할 수 있으므로 자원을 효율적으로 사용할 수 있음
단점 : 동기에 비해 설계가 복잡함

Reference

https://velog.io/@daybreak/%EB%8F%99%EA%B8%B0-%EB%B9%84%EB%8F%99%EA%B8%B0-%EC%B2%98%EB%A6%AC
https://private.tistory.com/24
https://sudo-minz.tistory.com/21

profile
I want be a developer🙂

0개의 댓글