16. 어떤 웹 서버를 선택할까?
기존 서버 상황
다양한 종류의 서버가 통합으로 운영 중
한 곳에서 오류가 발생하면 전체에 영향을 주는 구조
대부분의 사이트가 PHP로 구현되어 있음
PHP 성능이 보장되는 웹 서버 선택이 필수
WAS를 지원하지 않고 아파치만 사용 중
개발 언어 선택에 있어서 매우 제한적
17. 어떤 웹 서버를 선택할까?
요구사항
운영체제와 상관없이 플랫폼 구축이 가능한가?
NGINX와 APACHE는 가능, IIS는 윈도우 서버가 필요
적은 자원으로 많은 동접자 수용이 가능한가?
APACHE와 같은 쓰레드/프로세스 기반 구조를 가진 웹 서버는 무리
NGINX와 같은 비동기 이벤트 기반 구조를 가진 웹 서버가 필요
다양한 종류의 WAS를 지원 가능한가?
프록시 모듈이 잘 갖춰져 있는 웹 서버가 요구 됨
27. Nginx
http/80
Reverse proxy
http/8080
Apache webserver 1
http/8080
Apache webserver 2
http/8080
Apache webserver 3
Reverse Proxy?
Reverse Proxy 도입 효과
서비스 형태는 유지하면서 웹 서버의 장
점들을 살려 성능 극대화
내부 네트워크에 대한 단일 액세스 지점
을 제공하여 내부 HTTP 서버 보호
HTTP 요청의 내용에 따라 시스템의 동작
제어
전에는 지원하지 못했던 다양한 WAS 지
원
30. 그럼 데이터베이스 서버는?
Thread Pool, 강화된 스토리지 엔진 (InnoDB →
XtraDB, Federated → FederatedX), 새로운 스토리지
엔진(Aria, Cassandra), 새로운 플러그인
(HandlerSocket), 새로운 기능(Virtual Column) 등이
MariaDB에 포팅되어 있다.
MariaDB는 ‘GPL v2’04 라이선스에 따르기 때문에
라이선스 정책에서 상당히 자유롭다. “오라클이
MySQL을 유료화하면 어떻게 하나”라고 걱정하고 있
다면, MariaDB 사용을 고려해보는 것도 좋다.
마리아DB 커뮤니티는 MySQL과 비교해 리플리케이션
부분 속도가 약 4~5천 배 정도 빠르며, MySQL이 가
지고 있는 모든 제품의 기능을 완벽히 구현하면서도
성능 면에서는 최고 70%의 향상을 보이고 있다고 주
장한다.
31. 그럼 데이터베이스 서버는?
MariaDB는 ‘GPL v2’04 라이선스
오픈 소스 소프트웨어 컨셉과 일치
다양하고 강력한 플러그인 및 기능 제공
쓰레드풀, 이노디비 기능을 원했음
리플리케이션 부분 속도가 약 4~5천 배 빠르다.
MariaDB로 선택한 이유
36. MariaDB
Replication
MariaDB Replication 원리
1) Master에서 데이터 변경이 일어나면
Master DB에 반영
2) 변경된 이력을 Binary Log에 기록
3) Slave IO Thread가 Master 변경 Event
를 감지하고 Master Binary Log를
Slave Relay Log에 기록
4) Slave SQL Thread는 Relay Log를 읽고
Slave DB에 기록DB DB DB
DB
MySQL Replication은 데이터를 이중화
38. Bind DNS
Replication
DNS
DNS
Bind DNS Replication
Master 서버는 1차 네임서버이며 Slave
서버는 2차 네임서버로 활용
Master 네임서버와 동일한 기능을 수행,
레코드유형 역할
관리상 편리하며 존 파일을 따로 설정하
여 발생하는 영역 데이터의 불일치 오류
를 피할 수 있음
41. SFTP chroot
기존 서버 상황
SSH 접근이 가능하여 다른 영역에 접근
이 가능
FTP chroot 기능을 활용하여도 SFTP로
접근하면 무용지물
퍼미션 관리를 통해 상대 영역에 접근 할
수는 없지만 디폴트 경로는 읽기가 가능
읽기가 가능하여 로그 파일 및 설정 파일
이 외부로 노출 될 수 있음