#connection-pool
글
-
nginx 소스 파헤치기 12: 부하 분산, upstream keepalive, stream 모듈 — 그리고 연재를 마치며
upstream {} 에 서버를 여러 대 적으면 nginx는 요청마다 어느 서버로 보낼지를 어떻게 고를까요. peer.init·get·free 세 함수 포인터로 짜인 부하 분산의 틀, 가중치 5:1:1을 a a b a c a a로 고르게 펴는 smooth weighted round robin, max_fails와 fail_timeout, 그 get/free를 감싸 연결을 캐시에 넣었다 꺼내는 keepalive 모듈(이 판에서는 적지 않아도 켜집니다), 그리고 같은 바닥을 TCP에 쓴 stream 모듈을 소스와 도커 예제로 확인하고 연재를 마무리합니다.
-
Apache httpd 소스 파헤치기 14: mod_proxy — 리버스 프록시와 로드 밸런서
ProxyPass 한 줄이 요청을 다른 서버로 넘기기까지를 소스로 따라갑니다. URL이 r->filename의 "proxy:..."로 바뀌는 자리, proxy_handler()가 스킴 핸들러 훅에 일을 넘기는 방식, 백엔드마다 하나씩 생기는 워커와 연결 풀, mod_proxy_http가 브리게이드로 응답을 흘려보내는 길, 그리고 byrequests 밸런서가 두 백엔드를 번갈아 고르는 계산을 컨테이너 안의 백엔드 두 대로 직접 확인합니다.