Open kihyun-yang opened 7 months ago
https://developer.mozilla.org/ko/docs/Web/API/WebGL_API 플러그인을 사용하지 않고, 웹 브라우저에서 상호작용 가능한 3D와 2D 그래픽을 표현하기 위한 Javascript API
벡터
래스터
https://www.pubnub.com/guides/long-polling/ https://medium.com/@pubnub-localized/%EB%A1%B1-%ED%8F%B4%EB%A7%81%EC%9D%B4%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80%EC%9A%94-abc8f9d1aa36
Keep-Alive 응답 헤더의 예시
Connection: Keep-Alive
Keep-Alive: max=4, timeout=180
=> 서버는 약 4개의 트랜잭션이 처리될 동안 커넥션을 유지하거나, 3분동안 커넥션을 유지하라.
#### HTTP 1.1 에서는 기본 옵션이 keep-alive.
- 필요 없을 경우 Connection : close 헤더 사용
- 장점 : 서버의 단일 시간내 TCP연결의 수를 적게해서 자원을 절약할 수 있고 네트워크 혼잡이나, 지연의 경우의 수를 줄일 수 있다. 또한 속도가 빨라진다.
- 단점 : 서버에 연결된 클라이언트의 TCP연결이 계속해서 늘어나면 서버의 자원이 고갈되어 다른 클라이언트들의 접속에 대처할 수 없는 상황이 발생할 수 있다.
![image](https://github.com/NW-study/system-design-interview/assets/51734158/11e24d39-aa7b-4d63-8f7e-c9ffa714e0c4)
#### HTTP 2.0
- Multiplexed Streams를 이용해 Connection한 개로 동시에 여러 개의 메시지를 주고 받을 수 있으며 응답은 순서에 상관없이 Stream으로 주고 받는다.
- Multiplexing : 단일 connection 내에서 여러 HTTP request /response 를 처리
![image](https://github.com/NW-study/system-design-interview/assets/51734158/0b6a7c74-8fe2-491a-94c2-975740ef50c1)
#### keep-alive default timeout
- nginx : 3분
- apache : 5초
### ETC
- HTTP 프로토콜의 대표적인 특징으로 무상태성(stateless), 비연결성(connectionless) 인데, 왜 HTTP 1.1 부터 keep-alive 옵션이 기본 활성화 되는가?
- persistent connection 은 HTTP 의 연결이나 내용 자체를 유지하는 것이 아닌 TCP connection dmfh 3-way handshake 를 불필요하게 다시 맺지 않도록 하기 위함.
- 큰 데이터의 경우 TCP 연결은 유지하되, 각각의 HTTP 메시지는 독립적인 단위로 처리해야 한다!
참고 :
- https://goodgid.github.io/HTTP-Keep-Alive/
- https://en.wikipedia.org/wiki/HTTP_persistent_connection
- https://en.wikipedia.org/wiki/HTTP/2
이미 대부분 설명을 잘 해주셨네요
기현
p87
p94
p98
PRIMARY KEY (city_id, event_id)
city_id
가 파티션 키. 즉, 데이터는city_id
필드를 기준으로 분할되어 동 한city_id
가진 모든 행이 동일한 노드에 저장된다.event_id
클러스터링 키 역할을 합니다. 각 노드 내에서 데이터는event_id
열을 기준으로 정렬된 순서로 구성 및 저장된다.