풀스택 서비스 네트워킹(11), Wrapup

2023. 1. 30. 20:42강의 내용 정리/풀스택서비스네트워킹

728x90
반응형

Wrapup

실질적으로 api를 제공하는 입장에서 클라이언트에게 부담을 줄여주기 위해 HTTP/1.1을 사용하는 경우가 많다.

 

ZMQ는 실질적으로 서버가 존재해야했다.

 

WebRTC도 마찬가지로 서버가 존재했다. P2P 통신이지만 STUB이나 중간에 서버가 존재하게 된다.

 

HTTP/2는 다중화를 통해 HoL 문제를 해결했다. 서버 부하의 입장에서 보더라도 HTTP/1.1은 HoL을 피하기 위해서 여러

TCP 세션을 만들었는데, 이를 통해 조금이나마 멀티플렉싱을 시도했지만 서버 부하가 늘어났다. 또한 이를 통해 보안을 강조하고자 했다.

 

gRPC는 HTTP/2를 사용하는 어플리케이션이다. 함수 호출방식이다. restful API는 사전지식없이 url을 보내는 식으로 진행했지만 gRPC는 사전지식이 필요하다. 오픈API로 외부의 사용자가 내부에 접근할 때에는 restful api를 많이 사용했지만 외부와 차단되고 내부에서만 사용하는 경우에는 gRPC를 많이 사용하기도 한다. 

 

TCP의 슬로우 스타트, 혼잡 제어를 할 떄의 수신 버퍼의 사이즈가 작다. 이에 따라 네트워크의 속도가 개선되더라도 한계가 있다. 따라서 이를 해결하기 위해 UDP 기반의 QUIC 전송 계층을 만들었다.또한 HTTP/2에서의 기능을 사용한다. 사실 QUIC과 HTTP/3는 크게 다른 점이 없었다. 다만 UDP에서 QUIC에서 돌아가면, 운영체제에서 돌아가는 UDP가 많이 안쓰기에 코드가 최적화되지 않았다는 단점이 있었다. 또한 TCP와 TLS는 잘 어울렸으나 UDP는 보안을 보장하지 않았기에 아직은 성능상의 이슈가 있다.

728x90
반응형