Centralized architecture

유석현(SeokHyun Yu)·2023년 4월 12일
0

분산 시스템

목록 보기
13/27
post-thumbnail

중앙 집중식 아키텍처는 클라이언트-서버 모델을 따른다.

클라이언트는 서버에서 제공하는 특정 서비스를 요청하고 서버의 응답을 기다리는 프로세스이다.

서버는 특정 서비스를 구현하는 프로세스이다.

이러한 클라이언트-서버 통신은 대개 신뢰성이 높은 지역 네트워크에서는 비교적 간단한 무연결 프로토콜(UDP)로 구현되는 것이 일반적이다.

하지만, 무연결 프로토콜을 사용하는 경우 응답 메시지가 손실될 가능성이 있어 클라이언트가 요청 메시지를 다시 보내야 하는 경우가 있다.

이 경우 클라이언트는 요청 메시지가 손실되었는지 아니면 응답 메시지 전송이 실패한 것인지 구분할 수 없기 때문에 요청 메시지를 다시 보내면 작업을 중복 수행할 수 있다.

이때, 요청 메시지가 여러 번 반복 수행해도 문제가 없는 경우 이를 멱등성이 있다고 한다.

이러한 문제를 해결하기 위해 연결 지향적인 프로토콜(TCP)을 사용할 수 있다.

이 경우 클라이언트가 서비스를 요청하면 먼저 서버와 연결을 설정한 후 요청을 보내는 방식으로 동작한다.

하지만 연결을 설정하고 해제하는 데는 비용이 들기 때문에 이를 고려해야 한다.

profile
Backend Engineer

0개의 댓글