Scaling
글 8개
Scaling · Resilience
서킷 브레이커와 백프레셔 - 번지는 것을 끊는다
한 서비스의 장애는 그걸 부르는 쪽으로 번지고, 빠른 생산자는 느린 소비자를 무너뜨린다. 그 번짐을 반대 방향에서 끊는 두 장치를 본다.
Rate Limiting · Scaling
Rate Limiting - 넘치면 막는다
더 받는 법으로는 막을 수 없는 유입이 있다. 토큰 버킷 하나를 깊게 보고, 무엇을 기준으로 세고 서버가 여러 대일 때 카운터를 어디에 두는지까지 간다.
·부하를 견디는 법 7편
CDN · Cache
CDN - 사용자 가까이 둔다
서버를 아무리 늘려도 거리는 안 줄어든다. 사본을 사용자 근처에 두는 층이 무엇을 해결하고, 공유 캐시라서 무엇이 위험한지 본다.
·부하를 견디는 법 6편
Load Balancer · Scaling
로드 밸런서 - 앞에서 나눠준다
서버를 여러 대 두면 누가 어디로 보낼지 정해야 한다. 분배 알고리즘보다 중요한 건 어느 층에서 보는가, 죽은 서버를 어떻게 아는가, TLS를 어디서 푸는가다.
·부하를 견디는 법 5편
Scaling · Architecture
수직이냐 수평이냐
서버를 키우는 것과 늘리는 것은 난이도가 다르다. 늘리는 쪽이 어려운 이유는 서버가 아니라 서버가 들고 있는 상태에 있다.
·부하를 견디는 법 4편
Cache · Redis
캐시가 프로세스 밖으로 나가면
서버마다 캐시가 달라지는 문제를 공용 캐시로 푼다. 대신 네트워크·직렬화·단일 장애점·스탬피드라는 계산서가 새로 온다.
·부하를 견디는 법 3편
Cache · Performance
캐시 - 같은 답을 두 번 만들지 않는다
한 번 만든 결과를 들고 있다가 다시 준다. 쉬운 이야기라서 위험한데, 진짜 알맹이는 무엇에는 캐시를 붙이면 안 되는가다.
·부하를 견디는 법 2편
Performance · Scaling
무엇이 먼저 무너지나
부하가 늘면 전부가 고르게 느려지는 게 아니라 가장 좁은 한 곳이 먼저 막힌다. 도구를 고르기 전에 그 자리를 찾는 이야기.
·부하를 견디는 법 1편