[Design Pattern] Request - Response Model

·2024년 2월 27일

What is?

클라이언트가 요청을 보내고 서버가 응답 하는 모델

  1. 클라이언트가 Request을 보냄
  2. 서버가 Request을 parse
  3. 서버가 Request을 진행
  4. 서버가 Response을 보냄
  5. 클라이언트가 Response을 parse하여 사용!

When it is used?

클라이언트와 서버가 상호 작용하여 정보를 교환할 때, 사용!

  • Web / HTTP / DNS / SSH
  • RPC(remote procedure call)
  • SQL and Database Protocols
  • APIs(REST/SOAP/GraphQL)

Request? Response?

  • Request의 구조는 서버와 클라이언트 모두에 의해 정의됨
  • Request는 경계가 있음
  • 프로토콜 및 메세지 형식으로 정의됨!
    Request

사용할 수 없는 곳

  • Notification service
  • Chatting application
  • Very Long requests
  • What if client disconnects?

Pros / Cons

Pros

  • 간결하고 간단하다
  • 확장성이 좋다

Cons

  • 수신자가 많으면 적합하지 않음
  • 높은 연결성
  • 클라이언트와 서버 모두 동시에 실행중이여야함
  • Chaining, circuit breaking

0개의 댓글