### 로드밸런싱 서버
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 |