웹 서버를 운용하는 방식에 대해서 알아보다 좋을 글을 보고 정리해 본다.
웹 어플리케이션의 시대가 왔다. 티스토리 블로거라면 곧 웹서버 하나씩 운영하게 될 날이 금방 찾아오지 않을까 싶다. 개인 서버두고 홈페이지 운영하는 것이 점점 쉬워지고 있고, 모바일 환경에서 웹의 영향력이 계속 커지고 있기 때문이다.
조금만 공부하고 알아보면 쉽고 싸게 개인 웹 서버를 운영 할 수 있으며, 이 서버로 할 수 있는 일이 무궁무진하다~! 오늘은 운영 방식만 간단하게 정리.
어떤 일을 할 수 있는지는 나중에 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
'기술 이야기' 카테고리의 다른 글
파비콘favicon 만들어서 블로그에 적용하기 - 김프gimp사용 (0) | 2015.09.18 |
---|---|
텔레그램 기반의 혁신적인 메신저 소셜라이저 소개 (0) | 2015.09.04 |
깃 허브 스타일로 구글 Syntax Highlighter prettify 적용하기 (0) | 2015.08.20 |
HTML5 & CSS3 오늘 구현하는 내일의 웹 표준 (1) | 2015.06.15 |
깃으로 디버깅 하기 - git bisect 활용 (0) | 2015.04.30 |
로드 밸런싱 2가지 타입 - Layer 4(L4), Layer 7(L7) (0) | 2015.04.28 |
자료 백업 방법 (0) | 2014.12.03 |
댓글