전체 글
-
[가상면접 사례로 배우는 대규모 시스템 설계기초] 처리율 제한 장치책/가상 면접 사례로 배우는 대규모 시스템 설계 기초 2025. 4. 2. 10:45
이게 뭔데 필요할까?1. DOS 공격과 같은 Denial Of Service 라고 외부에서 엄청 많이 요청해서 자원을 고갈시키는 공격을 방지할 수 있는 수단이다.2. 서드파티의 API (지도 API 등) 를 이용할 경우 사용료를 제한할 수 있다.3. 봇 같은 불필요한 트래픽을 줄여서 서버 부하를 줄일 수 있다. 이 처리율 제한 장치는 어떻게 구축되어 사용될까?클라이언트쪽에 구축하거나 미들웨어에 구축하거나 서버쪽에 구축할 수 있다.이 위치는 기술 스택이나 도메인에 따라 변경될 수 있다.처리율 제한 서비스를 직접 만드는 것은 어렵기 때문에 인력이 충분하지 않다면 상용 서비스를 쓰는 것이 바람직하다. 처리율 제한 장치는 어떻게 동작하는가? 5가지 알고리즘을 도메인 상황에 맞게 적용한다고 한다.1. 토큰 버킷2..
-
[HTTP2 in action] 4.2. HTTP/2 프로토콜 기초 - 프레임의 구조책/HTTP2 In Action 2025. 3. 31. 10:51
프레임 프레임은 HTTP/2 에서 다중화된 단일 연결의 스트림에서 전송되는 데이터 단위이다. 프레임은 고정 길이 헤더와 페이로드로 이루어져 있는데 헤더에는 프레임의 길이, 타입, 플래그, 리저브드 비트(현재는 사용되지 않음 반드시 0으로 해야함!! ),식별자로 이루어져 있다. Type 필드는 현재 14개가 정의되어 있다고 한다. DATA, HEADERS, PRIORITY, RST_STREAM, SETTINGS,PUSH_PROMISE, PING, GOAWAY, WINDOW_UPDATE,CONTINUATION, ALTSVC, ORIGIN, CACHE_DIGEST, (0xb) Length 필드는 프레임의 길이를 말한다. Stream Identifier 는 프레임을 식별하는 부호 없는 31비트 정수다. 31비..
-
[출근했더니 스크럼 마스터가 된 건에 관하여] 개념 정리 및 회고책/출근했더니 스크럼 마스터가 된 건에 관하여 2025. 3. 27. 00:22
해당 책으로 스터디를 진행했다. 스토리 방식으로 어떤 팀이 스크럼을 적용하면서 겪는 다양한 이슈와 어떻게 하면 좋을까에 대한 내용이 정리된 책이었다. 먼저 스크럼이 뭐고 어떻게 하는지 정리하고, 인상깊었던 내용과 회고를 작성하려 한다. 스크럼이 무엇인가? 스크럼을 말하기 전에 먼저 애자일을 알아야 한다. 애자일은 모든 것을 예측하고 대비할 수 없다는 것을 일찌감치 인정하는 것이다. 한 번에 전체를 완성하기 보다 조금씩 만들되, 조기에 동작시켜 피드백을 받는 것이다. 만들 때는 중요한거 먼저 만드는 것이다! 스크럼은 애자일 개발 기법의 하나인 것이다. 일하는 절차와 기켜야 할 규칙이 최소한으로 정의된 프레임워크이다. 투명성 스크럼의 특징 중에 투명성이 있다. 현재 상태와 문제점을 명확하게 밝히는 것이라..
-
[HTTP2 in action] 4.1. HTTP/2 프로토콜 기초 - 왜 HTTP/1.2 가 아니고 HTTP/2 일까?책/HTTP2 In Action 2025. 3. 13. 11:02
드디어 드디어 HTTP/2 기초이다!! 먼저 왜 HTTP/1.2 가 아니라 HTTP/2 일까?이런 이유는 하위호환을 깨뜨리는 변화가 있었기 때문이다. 이 하위 호환을 깨뜨리는 변화는 다음과 같다. 텍스트 기반 통신이 아닌 바이너리 통신멀티플렉싱스트림 우선순위화헤더 압축서버 푸시 HTTP/1.0 웹 서버가 HTTP/1.1 웹 서버의 메세지를 이해하고 이후 버전이 추가한 기능을 무시할 수 있지만 HTTP/2 에서는 그렇지 않다. 하지만 그럼에도 같은 TCP 위에서 동작하니 HTTP/1.2 라고 해야하지 않느냐는 이야기가 있는데 그것은 나중에 나온다. 이제 이 변화들에 대해 살펴보자. 바이너리 통신 HTTP/2에서는 기존 청크 방식은 사용하지 않고 바이너리 프로토콜을 적용했다. 청크란?HTTP 응답 데이터를..
-
[가상면접 사례로 배우는 대규모 시스템 설계기초] 개략적인 규모 측정과 시스템 설계 면접 공략법책/가상 면접 사례로 배우는 대규모 시스템 설계 기초 2025. 3. 11. 09:14
개략적인 규모 추정이란?어떤 설계가 요구사항에 부합하는지 알아보기 위해 성능 수치상에서 사고실험을 해서 추정치를 계산하는 행위이다.데이터를 측정하는 단위?2의 제곱수인 바이트단위로 측정한다.응답 지연 값당연한 이야기겠지만 디스크 조회보다 메모리에서 조회하는 것이 빠르니 디스크 조회는 피하자.단순한 압축 알고리즘은 빠르니 데이터를 인터넷으로 전송하기 전에 압축하자.데이터는 일반적으로 분산되어 있고 센터간 데이터 주고받는데 시간이 걸린다.가용성고가용성이란? 시스템이 오랜 시간동안 중단 없이 운영될 수 있는 능력이다.SLA 은 서비스 사업자와 고객 사이에 맺어진 합의를 의미한다.큰 사업자들은 99%이상의 SLA 를 제공하는데 표를 보니99%도 연간 장애 시간으로 하니 크게 보인다! QPSquery per se..
-
[HTTP2 in action] 3. HTTP2로 업그레이드 여정책/HTTP2 In Action 2025. 3. 10. 08:43
그간 HTTP 1.1 의 한계와 우회적 성능 향상 방법을 정리했다. 오늘은 HTTP/1.1 에서 HTTP/2 로 업그레이드된 과정과 HTTP/2 기초에 대해 정리하려고 한다. SPDY 의 탄생 구글로부터 HTTP/2 의 전신이라고 할 수 있는 SPDY 가 개발되었다. 이 SPDY는 HTTPS 처럼 HTTP 를 감싸는 것과 비슷하게 개발되어, HTTP의 근본적인 용도를 변경하지 않고 개발되어 기존의 모든 네트워크, 라우터, 스위치 그 외의 인프라스트럭처는 어떤 변경을 하지 않고 적용할 수 있었다. 이 점이 이전에 HTTP/1.1 을 개선하기 위해 진행했던 프로젝트 HTTP-NG 가 실패한 것과 반대로 성공할 수 있던 이유가 되었다. SPDY 는 HTTP/1.1 의 근본적인 문제를 해결하기 보다 성능적 ..
-
[HTTP2 in action] 2. HTTP1.1 의 근복적인 성능 이슈와 우회 방법책/HTTP2 In Action 2025. 3. 7. 11:02
인터넷이 발전함에 따하서 데이터를 주고받는 양이 증가하였다. 따라서 더 빠른 다운로드 속도에 대한 요구가 늘어나고 있다. 인터넷 가용성과 속도는 광대역과 광섬유망과 같은 기술로 인해 증가했고 증가하고 있지만 하지만 대기 시간은 기본적으로 광속에 의해 제한되어 있기에 우회적으로 해결하기 위한 다양한 시도가 있었다. 오늘은 HTTP 1.1 의 근본적인 한계에 대해 정리해보려고 한다. HTTP 1.1 의 한계HTTP 1.1 은 텍스트 기반 요청 응답 프로토콜이다. 여러 리소스를 요청하게 되면 HOL 블로킹이 발생한다. HOL 블로킹이란? Head-Of-Line 블로킹이라고 하고 HTTP 뿐만 아니라 다른 네트워크 프로토콜에도 흔하다고 한다. 향후 TCP HOL 블로킹 문제도 다룰 예정이다. 해당 그림에서..
-
[HTTP2 in action] 1. http의 역사와 https책/HTTP2 In Action 2025. 2. 16. 23:31
해당 서적으로 스터디를 시작한지 2주가 되어간다.잊지 않기 위해 기록한다. 들어가기 전에!!리소스는 무엇인가?웹의 리소스는 인터넷상에서 고유하게 식별되고 액세스할 수 있는 모든 콘텐츠나 서비스를 의미한다.이 리소스에 고유하게 접근할 수 있는 식별자를 URI 라고 부르는데URN 과 URL 모두 URI 이다.요즘엔 URL 과 URI 를 혼용해서 쓰기도 한다.HTTP 는 무엇인가?HTTP 는 이름대로 하이퍼텍스트를 전송하기 위한 프로토콜이지만 다른 미디어들도 전송할 수 있다.따라서 사실상 HTTP 는 웹에서 데이터를 주고받기 위한 프로토콜이다.요청-응답 구조로 stateless 하다. HTTP 는 TCP/IP 가 제공하는 안정적인 네트워크 연결에 의존하는데 TCP/IP 는 OSI 모델의 여러 계층(둘 에서 세..