티스토리 뷰

반응형

동기식통신

동시(같은 시기)에 일어난다 는 뜻이다.

동시에 일어난다는 것은 요청(Request)을 보내면 얼마나 시간이 걸리든 그 자리에서 응답(Response)을 받는다는 말이다.

이는 요청과 응답값의 순서를 보장하게 된다. 또한 보낸 Request에 대한 처리 결과 값을 보장 받을 수 있다.

이는 요청 값에 대해 성공, 실패 및 처리 결과에 대해 변경되는 사항이 있는 경우엔 굉장히 중요한 요소이다.

이러한 특징의 단점으로는 Response가 지연되게 된다면 Request를 보낸 Thread는 해당 Response를 무작정 기다리는 상태가 된다는 것이다. 순차적으로 Response를 받고 Request를 받는 구조로 Response가 계속 지연되게 된다면 뒤에 들어오는 요청들은 Connection 가능한 Thread가 없어 연결을 맺지 못하는 성능적인 이슈가 발생 할 수 있다.

 

비동기식 통신

동기식과는 반대로 Request를 보내더라도 Respinse를 언제 받아도 상관이 없다는 말로 즉, Request를 보내고 Response를 상관하지 않는 상태가 되는 것이다

비동기식 통신은 순서를 보장하지 않는다. Thread가 Response를 받지 않고, Request를 보냈을때 뒤에 보낸 요청이 먼저 처리가 되었다면 요청 값이 먼저 올 수도 있습니다. 이러한 특징으로 Async(비동기식) 통신은 순서를 보장하지 않는다

이런식으로 Response를 기다리지 않고 Non Block 상태로 계속 자기일을 하는 Async(비동기식)방식은 Sync(동기식)방식에 비해 성능적으로 좋을 수 밖에 없습니다. 하지만 Sync(동기식)과 반대로 Response에 대한 처리 결과를 보장받고 처리해야 되는 서비스에 적합하지 않는다

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함