less than 1 minute read

클라이언트/서버 아키텍쳐에서 클라이언트의 불확실성

클라이언트에서 중요한 비즈니스 로직의 처리는 피하는 것이 좋다
  • 클라이언트/서버 아키텍쳐

    하나의 서비스를 클라이언트, 서버(DB 포함) 으로 나누고 관리하는 것

  • 클라이언트

    유저와 상호작용을 담당

  • 서버

    클라이언트의 요청과 응답에 대한 처리

  • DB

    데이터 저장

  • 할 일 분담

    모든 일에 절대적인 분담이란 없음

    반드시 클라이언트에서 처리하거나 서버에서 처리하는건 상황에 따라 다름

    하지만 특성에 따라서 정확히 분리하고 처리해야 할 일이 존재한다고 생각함

    • 클라이언트의 불확실성

      클라이언트 환경은 불확실성이 존재함

      유저의 상호작용에 따라 클라이언트 환경이 구성되고 움직임

      유저의 클라이언트 강제종료, 버그로 인한 멈춤 등의 모든 상호작용에 개발로 대응하는 것은 힘듦

      이런 환경에서 중요한 비즈니스 로직을 처리한다는 것은 불확실성에 매달리는 것과 같고 이로 인해 요청과 응답이 보장되지 않음