티스토리 뷰

기타

서버 성능 향상 - 2

lkh's 2019. 1. 24. 02:11

FailOver


시스템을 구성하는 요소중 일부에 장애가 발생했을 때, 대체 자원으로 자동으로 전환되어 예비 시스템으로 운영하여 연속적인 서비스를 지원하는 것을 

의미한다. SPOF를 완전히 제거하는 것은 힘들기 때문에 장애가 발생했을 때, 대처방안이 중요하다. 


FailOver를 지원하기 위해서는 두대 이상의 서버가 필요하며, 이와 같은 운영을 지원해주는 것이 Load Bancle 이다. Load Balance는 n대의 서버가 일을 

분담하여, 하나의 서버에 가해지는 부하를 분산시켜주는 것을 의미한다. 대부분의 서비스들은 사용자들에게 연속적인 서비스를 지원하기 위해 다중화 전략을 취하고 있다. Load Balance 지원해주는 소프트웨어 HAProxy와 하드웨어 L4, L7 을 알아보자


L4, L7은 Load Balance를 수행하는 네트워크 스위치이다. L4 장비는 TCP/UDP 헤더를 이용해서 목적지의 IP, PORT 번호를 확인한 후, 목적지로 보내주는 장비이다. L4는 4계층 포트 기반으로 스위칭을 해주는 장비이다. L7는 7계층 기반 네트워크 스위칭 장비로서 L4의 단점을 보완하는 방향으로 개발이 되었다.


목적지의 IP, PORT 번호만을 확인하는 L4와는 달리, L7은 IP, PORT, URL, 쿠키, 플레이 로드 등 다양한 정보를 종합적으로 분석/검사하여 보안 측면에서도 

안전하고, 연속적인 서비스를 지원하고 있다. L7이 L4에 비해 연속적인 서비스를 지원할 수 있는 이유는, 사용자가의 IP가 계속 바뀌는 경우, L4는 IP를 확인 후,

목적지로 전달을 하기 때문에 계속해서 연결을 수행해야 하는 작업이 필요하다. 하지만, L7은 IP, PORT, 쿠키 등의 정보를 확인할 수 있기 때문에 상대적으로

연속적인 서비스를 더 지원할 수 있다. 그리고 L4는 IP, PORT를 통해서만 접근하기 때문에 동일한 서버에 대해 계속해서 접근한다는 보장이 없다.

그렇기 때문에 항상 같은 서버에 요청을 보내야 한다는 조건이 없다면 L4를 사용하는 것을 더 권장한다. 이유는 L4 비용이 더 저렴하기 때문이다.


마지막으로 HAProxy는 L4, L7의 기능 및 Load Balance를 제공하는 소프트웨어이다. 기본적으로 Reverse proxy 형태로 동작한다.

Reverse Proxy는 웹 서비스에 데이터를 요청하면, Reverse Proxy가 요청을 받아서 내부망에 있는 서버로부터 처리된 결과를 받아 사용자에게 전달하는 

방식이다. was 서버가 직접 서비스를 제공하는 것도 가능하지만, 보안을 위해 DMZ 구간에 Reverse Proxy라는 대행 서버를 놓고 사용한다.


foward proxy는 클라이언트가 서버의 실제주소를 proxy에게 전달하면, proxy가 서버로 부터 처리결과를 전달받아 사용자에게 전달하는 방식이다.

Foward Proxy는 캐시 기능이 있기 때문에 빠른 속도 지원이 가능하다. 


foward proxy, reverse proxy는 결국 사용자가 내부서버와 1 : 1 붙는 것이 아니라 Proxy 서버를 사이에 껴서 통신하는 방식이다. 

차이가 있다고 한다면, 사용자가 내부 서버의 주소를 알고 있는지의 유무이다. Foward Proxy는 요청을 내부서버에 하고, 전달은 Proxy를 통해 전달받는 

구조이기 때문에 내부서버의 주소를 알고, Reverse Proxy 경우는 내부 서버의 주소를 알지 못한다. 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
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
글 보관함