Types of communication

유석현(SeokHyun Yu)·2023년 5월 11일
0

분산 시스템

목록 보기
24/27
post-thumbnail

통신의 기본적인 형태는 여러 가지가 있다. 그 중에는 미들웨어를 이용한 클라이언트-서버 컴퓨팅이 포함되며, 이는 추가 서비스를 제공한다. 이메일 시스템이 이에 대한 한 예시로, 이메일 시스템의 핵심은 미들웨어 통신 서비스로 볼 수 있다.

통신 유형에는

  • 지속적(persistent)인 통신과 일시적(transient)인 통신
  • 동기적(synchronous)인 통신과 비동기적(asynchronous)인 통신
  • 이산적(discrete)인 통신과 스트리밍(streaming) 통신이 있다.

지속적인 통신은 전달된 메시지가 수신자에게 전달될 때까지 미들웨어에 의해 저장되는 통신 방식이다. 이 방식에서는 메시지를 제출한 후에도 보내는 애플리케이션은 계속 실행될 필요가 없다. 또한, 메시지가 제출될 때 수신 애플리케이션이 실행 중일 필요도 없다. 이메일 시스템이 이러한 통신 방식의 예시이다.

일시적인 통신은 메시지가 보내는 애플리케이션과 받는 애플리케이션이 실행되는 동안에만 미들웨어에 의해 저장되는 방식이다. 만약 미들웨어가 메시지를 전달하지 못하면, 그 메시지는 단순히 버려진다. 이러한 통신 방식은 대부분의 전송 수준 서비스에서 흔히 볼 수 있다.

비동기적인 통신은 보내는 쪽이 메시지를 제출하고 나서 즉시 다음 작업진행하는 통신 방식이다. 메시지는 제출 즉시 미들웨어에 의해 임시로 저장된다.

반면, 동기적인 통신은 보내는 쪽이 요청이 수락될 것이라는 것을 알 때까지 대기하는 통신 방식이다. 이 경우 세 가지 동기화 지점이 있다. 첫째, 미들웨어가 전송을 인수하겠다는 통보를 할 때까지 보내는 쪽이 대기할 수 있다. 둘째, 보내는 쪽은 요청이 목표 수신자에게 전달될 때까지 동기화할 수 있다. 셋째, 요청이 완전히 처리될 때까지, 즉 수신자가 응답을 반환할 때까지 보내는 쪽이 대기할 수 있다.

통신의 지속적인 통신동기적 통신의 조합도 존재한다. 많은 메시지 큐 시스템(message-queuing system)이 이런 유형을 사용한다.

일시적인 통신동기적 통신의 조합도 널리 사용되며, 원격 프로시저 호출(RPC)이 이러한 예시 중 하나다.

profile
Backend Engineer

0개의 댓글