티스토리 뷰

스케일 아웃, 스캐일 업, 로드밸런싱

서버 확장을 위한 방법

 

스케일 아웃 (Scale out)

  • 서버를 여러 대 추가하여 시스템을 확장 하는 방법
  • 서버가 여러대가 되기에 로드밸런싱이 필수
  • 다중화를 통해서 서버에서 장애가 나더라도 다른 서버에서 대응이 가능
  • 반면 모든 서버가 동일한 데이터를 가지고 있어야기야 데이터 변화가 적은 웹서버에 적합

 

스케일 업 (Scale up)

  • 서버에 CPU / RAM 등을 추가하거나, 고성능의 부품, 서버로 교환하는 방법
  • 추가적으로 장비를 장착한 여유 슬롯이 있어야 하며 그렇지 않으면 서버 자체를 교환해야 한다
  • 스케일 업의 경우 모든 부하가 서버 한 대에 집중되므로 장애시 위험하다
  • 모든 데이터를 한 곳에서 처리하므로 데이터 갱신이 빈번하게 일어나는 데이터베이스 서버에 적합

 

로드밸런서의 주요기능

  • NAT: 사설 IP 주소를 공인 IP 주소로 바꾸는데 사용하는 통신망 주소 변조기
  • DSR: 서버에서 클라이언트로 돌아가는경우, 목적지 주소를 스위치 IP 주소가 아닌, 클라이언트의 IP 주소로 전달하여 네트워크 스위치를 거치지 않고 바로 클라이언트를 찾아가는 개념
  • Tunneling: 인터넷상에서 눈에 보이지 않는 통로를 만들어 통신할 수 있게 하는 개념
  • 데이터를 캡슐화해서 연결된 상호간에만 캡슐화된 패킷을 구별해 캡슐화를 해제할 수 있다
  • 주의 할 점
    • 매 요청마다, 다른 서버로 접근하기에 정보 일관성 유지가 어렵다 (세션 등)
    • 세션 고정이 필요, 특정 사용자의 요청이 전달될 노드를 고정하는 방법이 있지만, 해당 노드가 장애시 무용지물

 

로드밸런서의 종류

  • L2: Mac주소를 바탕으로 로드밸런싱
  • L3: IP주소를 바탕으로 로드밸런싱
  • L4: Transport Layer(IP와 Port) 레벨에서 로드밸런싱, (TCP, UDP)
  • L7: Application Layer(사용자의 Request) 레벨에서 로드밸런싱, (HTTP,HTTPS, FTP)


밸런싱 방법

  • Round Robin: 한 번씩 돌아가며 선택, 가장 일반적인 방법
  • Least Connections: 연결 개수가 가장 적은 서버를 선택, 세션이 길어지는 경우 권장
  • Source: 사용자의 IP를 해싱하여 분배, 사용자는 항상 같은 서버로 연결되는 것을 보장

'개발 > Infrastructure' 카테고리의 다른 글

Apache vs Nginx  (0) 2020.05.18
Proxy Server  (0) 2020.05.18
아파치(Apache)인증 설정 (Basic, Digest)  (0) 2019.10.23
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함