2023. 2. 7. 15:10ㆍ기술 창고/네트워크
동기 통신 (Synchronous)
동기란 태스크(작업)을 직렬적으로 수행하는 방식이다.
요청(Request)을 보내고 난 이후에 반드시 응답(Response)을 받아야 다음 동작이 이루어진다.
흔히 말하는 동기화라고 하는 것은 이러한 수행 방식 때문에 작업이 완료될 동안 나머지 작업은 대기한다라고도 말할 수 있다.
HTTP가 대표적인 동기방식 통신 프로토콜이다.
반드시 수행이 완료되고 난 이후에 다음 작업이 수행되기 때문에 속도가 느릴 뿐 더러 시스템의 전체적인 효율이 저하된다.
동기 통신을 실제 환경에서 예로 들자면 대표적으로 흔히 말하는 탁구를 예로 들을 수 있을 것이다.
서브(요청)를 해야지 상대방이 요청을 받고 리시브(응답)를 해줄 것이다.
이때 리시브가 정상적으로 반환될 때까지 서브를 날린 사람은 리시브가 올 때까지 다른 작업은 할 수 없고 기다리기만 할 수 있다.
결국에는 승패가 가려져서 한쪽이 이기고 다른 한쪽이 졌다는 결과가 동시에 일어날 것이다.
따라서 동기 방식이란,
- 요청에 따른 응답이 와야지 다음 작업을 수행
- 최종적으로 결과가 산출될 때 클라이언트와 서버 양측에 동시에 산출
이렇게 간단하게 정리할 수 있을 것이다.
비동기 통신 (Asynchronous)
비동기 통신은 직렬적으로 수행하는 것이 아닌 병렬적으로 수행하는 방식이다.
요청(Request)을 보낸 후 응답(Response)의 여부와 상관없이 다음 작업이 동작한다.
작업이 수행되는 동안 다른 작업이 수행될 수 있으므로 자원을 효율적으로 사용할 수 있다.
비동기 요청 시 응답 후에 처리될 콜백 함수를 같이 알려준다.
따라서 작업이 완료되었을 때 콜백 함수가 호출된다.
바동기 방식을 실제 환경에서 예로 들자면 자격증 시험을 예로 들 수 있을 것 같다.
자격증 시험을 보고 시험지를 제출하여 채점이 되고 합격 발표가 나오기 이전까지 시험을 본 사람은 게임을 하거나 다른 시험 공부를 하거나 할 수 있을 것이다.
따라서, 비동기 방식이란
한 요청에 따른 응답이 오기 전에 그 사이에 다른 요청에 대한 작업을 수행할 수 있다 라고 정리할 수 있을 것이다.
[도움받은 출처]
https://private.tistory.com/24
'기술 창고 > 네트워크' 카테고리의 다른 글
[네트워크] FTP / SFTP (0) | 2023.06.03 |
---|---|
[네트워크] TCP - 3 way handshake / 4 way handshake (0) | 2023.01.09 |