241030 데이터와 서버통신 용어정리

물고기가자라면어그로·2024년 10월 30일
0

JSON

  • 클라이언트가 서버와 통신할 때 사용하는 데이터 양식
  • 클라이언트와 서버가 사용하는 언어에 관계 없이 통일된 데이터를 주고 받을 수 있게 해줌
  • JSON 구조 : key-value 형태로 구성
  • snake_case, camelCase 모두 사용가능
  • null, number, string, array, object, boolean 형태의 데이터 사용 가능

Scale Up, Scale Out

  • 서버의 성능 향상을 위한 두 가지 방법이다

Scale Up

  • 수직적 확장
  • 단일서버의 하드웨어 스펙을 높여 성능향상
  • 요청에 대한 처리를 더욱 빠르게 할 수 있음
  • 비용이 비교적 더 가파르게 상승

Scale Out

  • 수평적 확장
  • 같은 사양의 서버(인스턴스)를 여러대 배치
  • 동시에 더 많은 사용자 요청을 처리 가능
  • 비용이 비교적 덜 가파르게 상승

Stateful, Stateless

클라이언트와 서버와의 통신상태 유지 여부에 따라 나뉘는 특성

Stateful

  • 클라이언트와 서버의 연결 상태를 유지 O
  • 오고가는 데이터가 끊기지 않고 연속적으로 처리 가능
  • 요청 트래픽이 몰리게되면 상태를 유지하는것에 Resource가 많이 소모

Stateless

  • 클라이언트와 서버의 연결 상태를 유지 X
  • 클라이언트가 정보를 계속 추가적으로 전송해야 함 (처리 데이터량 증가)
  • 같은 서버를 유지할 필요 X
  • Scale Out 수평 확장성이 높음 (요청량이 증가해도 서버증설 용이)
  • 상태유지가 불가피할 경우 token, cookie session 등을 사용

Connection, Connectionless

클라이언트와 서버와의 연결 유지 여부에 따라 나뉘는 특성

Connection

클라이언트와 서버가 연결을 계속 유지하고 있기때문에 응답요청 속도가 빠르지만 그만큼 자원이 계속 소비된다. (클라이언트 요청이 없을 때는 자원이 낭비되기도O)

Connectionless

클라이언트와 서버가 연결을 계속 유지하고 있지 않으며 서버는 최소한의 자원만을 사용한다.

  • 요청이 올 때마다 새롭게 연결(3 way handShake)해야 하기때문에 요청 응답시간이 길어진다.
  • 웹 사이트의 HTML, CSS, JS, 이미지 등의 정적 자원 모두를 다시 다운로드 한다.
    • 캐시, 브라우저 캐싱으로 해결 (임시저장)
    • 현재는 HTTP 지속연결(Persistent Connections)로 문제를 해결

*HTTP 지속연결 : 하나의 요청에 필요한 요청들이 모두 응답될 때 까지 연결을 유지

0개의 댓글