client-server-architecture

Definition pending verification.

Client-server architecture is a distributed computing model where tasks or workloads are partitioned between providers of a resource or service, called servers, and service requesters, called clients, facilitating efficient resource sharing and centralized management.

        graph LR
  Center["client-server-architecture"]:::main
  Pre_cryptography["cryptography"]:::pre --> Center
  click Pre_cryptography "/terms/cryptography"
  Rel_antimatter_propulsion["antimatter-propulsion"]:::related -.-> Center
  click Rel_antimatter_propulsion "/terms/antimatter-propulsion"
  Rel_arpanet["arpanet"]:::related -.-> Center
  click Rel_arpanet "/terms/arpanet"
  Rel_artificial_consciousness["artificial-consciousness"]:::related -.-> Center
  click Rel_artificial_consciousness "/terms/artificial-consciousness"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧠 지식 테스트

1 / 3

🧒 5살도 이해할 수 있게 설명

식당을 생각해보세요. 손님(클라이언트)이 주방(서버)에 음식을 주문하면, 주방에서는 음식을 준비해서 손님에게 다시 보내줍니다.

🤓 Expert Deep Dive

클라이언트-서버 모델은 컴퓨팅 분야의 근간이 되는 아키텍처 패턴입니다. 서버는 일반적으로 높은 가용성과 안정성을 위해 설계되며, 로드 밸런싱, 이중화, 견고한 네트워크 인프라를 자주 활용합니다. 반면 클라이언트는 사용자 상호작용에 최적화되어 있으며 리소스가 제한적일 수 있습니다. 통신 프로토콜은 클라이언트와 서버 간의 계약을 정의하여 상호 운용성을 가능하게 합니다. 일반적인 예로는 RESTful API가 있으며, 클라이언트는 표준화된 HTTP 요청(GET, POST, PUT, DELETE)을 통해 서버와 상호작용합니다. 아키텍처의 트레이드오프는 제어 및 데이터의 중앙 집중화 대 분산화와 관련이 있습니다. 중앙 집중식 관리와 쉬운 업데이트를 제공하는 동시에 성능 병목 현상과 단일 실패 지점을 야기할 수 있습니다. 피어 투 피어(P2P) 아키텍처와 같은 대안은 모든 노드에 기능을 분산하여 복원력을 향상시키지만 조정 및 데이터 일관성을 복잡하게 만듭니다. 보안 고려 사항은 중요하며, 인증, 권한 부여, 전송 중 데이터 암호화, 서버에 대한 서비스 거부(DoS) 공격 방지에 중점을 둡니다.

🔗 관련 용어

선행 지식:

📚 출처