웹 서버를 운용하는 5가지 방식 기술 이야기 2015. 8. 3. 10:35

웹 서버를 운용하는 방식에 대해서 알아보다 좋을 글을 보고 정리해 본다.

웹 어플리케이션의 시대가 왔다. 티스토리 블로거라면 곧 웹서버 하나씩 운영하게 될 날이 금방 찾아오지 않을까 싶다. 개인 서버두고 홈페이지 운영하는 것이 점점 쉬워지고 있고, 모바일 환경에서 웹의 영향력이 계속 커지고 있기 때문이다.

조금만 공부하고 알아보면 쉽고 싸게 개인 웹 서버를 운영 할 수 있으며, 이 서버로 할 수 있는 일이 무궁무진하다~! 오늘은 운영 방식만 간단하게 정리.
어떤 일을 할 수 있는지는 나중에 delisalt.me 프로젝트를 참고하면 좋을듯.ㅎ


쉽게 설명해둔 아래 글을 정리한 것이다. 자세한 내용은 원문을 참고!
5 Common Server Setups For Your Web Application

오직 1개의 서버


장점

  • 간단하다

단점

  • 성능 개선이 까다롭다

데이터 베이스 분할


어플리케이션 서버와 데이터 베이스 서버의 분할

장점

  • 리소스 확인 및 확장이 쉽다 (Vertical Scaling)
  • DB의 보안 수준이 높아진다. (같이 있을때보다…)

단점

  • 서버간의 지연문제가 생길 수도 있다.

로드 밸런서 설치


로드 밸러서와 어플리케이션 서버, DB로 구성

장점

  • 서버의 트래픽 관리가 쉽다 (Horizontal Scaling)
  • Reverse Proxy 구성으로 보안 수준이 높아진다. (DDOS 공격의 방어등)

단점

  • 로드 밸런서가 병목현상을 발생시킬 수 있다
  • 개별 어플리케이션의 세션 관리등의 문제가 있을 수 있다.
    어플리케이션이 다른 서버에서 동작하면 context 관리가 필요해질 수 있다. 즉, 매번 같은 서버에 접속 되지 못할 수 있다.

HTTP 가속기 또는 캐싱 리버스 프록시


캐싱을 사용해서 빈번하게 요청되는 데이터의 처리 속도를 개선하고 보안 수준을 높인다. 대표적인 소프트웨어는 Varnish, Squid, Nginx. 가 있다.

장점

  • 캐싱를 사용하여 성능과 용량을 개선시킨다.
  • 리버스 프록시로 사용가능하며, 보안 수준도 높일 수 있다.

단점

  • 최적화가 필요하다.
  • 캐시 사용빈도가 떨어질수록 성능이 떨어진다.

다수 데이터 베이스의 복제


다수 데이터 베이스를 구성하되 마스터 데이터베이스를 통해서만 데이터를 입력한다. 다른 데이터 베이스는 읽기만을 허용하여 속도를 높인다.

장점

  • 다수의 데이터 베이스를 운용 할때 읽기/쓰기 속도를 개선할 수 있다.

단점

  • 데이터 베이스의 실시간성이 일부 보장되지 않을 수 있다.
  • 마스터에 문제가 생기면 전체 업데이트가 불가능해 진다.


위 내용들은 기본적인 방법들의 설명이고, 실제 구현은 웹 서버 성격에 맞게 구성하는 것이 좋다. 그리고 한번에 너무 많은 것을 빨리 개선하려 하기보다는 차근차근 적용하면서 최적화하는 것이 좋다! Mitchell Anicas

댓글