### 로드밸런싱 서버


1. reverse proxy와 AP서버를 항상 1:1로 구성

2. mod-proxy_balancer

3. reverse proxy와 AP사이에 LVS(LVS + keepalived) 놓기





ex) mod_proxy_balancer 예

1. mod_proxy_balancer loading

2. Balancer Member Directive로 분산할 호스트 목록 정의

3, RewriteRule로 리버스 프록시 설정


<Proxy balancer://backend>

BalanceMember    http://192.168.0.100    loadfactor=10

</Proxy>






### 캐시서버


a. http 캐시

: HTTP Header로 갱신문서의 갱신 일시를 교환(FireFox: If-Modified-Since)


b. Squid 캐시서버

- HTTP, HTTPS, FTP 등에 이용되는 오픈소스 캐시서버




- squid를 이용한 리버스 프록싱 : 서버측의 문서를 시스템 측에서 squid로 캐시 가능



- squid는 주로 정적문서(css, js, HTML, ...)을 캐싱

- 동적문서도 가능 함

- HTTP 프로토콜 기반으로 URL을 키로 사용해 문서를 캐싱

- 사용자 정보를 갖는 문서는 cookie에 의한 세션 관리를 통해 동작함 => "state-less"함. "state-full"한 정보는 캐시하지 않음

페이지 전체를 캐시하는 경우 사용되며, 해당 단위의 크기에 맞게 캐시하는 예는 "memcached"가 수행


 * 두 대의 squid 분배는 mod_proxy나 LVS로 수행

- squid.conf



c. memcached에 의한 캐시


<개요>

- squid는 HTTP 프로토콜 레벨에서 캐시를 수행하므로 state-less하고 scalable 하여 애플리케이션의 구성 등에는 거의 의존하지 않음

- but, HTTP 레벨의 캐시가 절실하지 않은 상황에는 애플리케이션 내부에서 이용하는 데이터단위 크기로 캐시를 관리하는 캐시 서버 사용


<내용>

- C로 작성된 분산 캐시 서버

- 스토리지로 OS의 메모리 사용

- 클라이언트 라이브러리를 이용해 서버와 통신하여 객체를 사용할 수 있음

(C, C++, Java , Perl, Ruby, PHP, Python 등 다수의 언어 지원)

- 프로그램 내부에서 이용 (특정 데이터를 파일로 캐싱 하거나, 로컬 메모리상에 캐싱하는 경우)

- <Key, Value> 구조의 데이터

- 장애감지, 복구, ...





[서버/인프라를 지탱하는 기술]


'Network/Infra' 카테고리의 다른 글

UTM, VoIP  (0) 2015.12.27
네트워크 보안 접근  (0) 2015.12.27
스토리지 프로토콜?  (0) 2015.08.13
[SDN] Ryu_OpenFlow 1.3 REST 연동  (0) 2015.05.11
[SDN] Ryu_OpenFlow 1.3 트래픽모니터  (0) 2015.05.10

+ Recent posts