웹서버 3대 mysql 서버 2대 해서 하나의 도메인을 라운드 로빈 방식으로 하고
mysql 서버를 마스터 슬레이브 구성해서 마스터는 읽기 슬레이브는 쓰기 해서
사이트의 안정화를 하고 싶습니다. 이것에 대한 자료가 있을까요?
웹서버 3대 mysql 서버 2대 해서 하나의 도메인을 라운드 로빈 방식으로 하고
mysql 서버를 마스터 슬레이브 구성해서 마스터는 읽기 슬레이브는 쓰기 해서
사이트의 안정화를 하고 싶습니다. 이것에 대한 자료가 있을까요?
아주 꼼꼼하게 구성하지 않으면 차라리 서버 1대로 운영하는 것보다 안정성이 더 떨어질 겁니다.
웹서버 3대 사이에 첨부파일 및 각종 캐시파일 동기화 문제 (XE는 캐시파일이 무지막지하게 많음)
→ 파일서버를 하나 더 마련해서 NFS로 공유? 파일서버 하나 죽으면 다 죽음
→ 웹서버간에 DRBD로 실시간 동기화하는 방법도 있음
→ 캐시는 Memcached로 공유? Memcached 사용 안하는 캐시파일도 많은데?
마스터 DB가 다운되고 슬레이브만 살아있을 경우 쓰기 쿼리는 무조건 실패 (조회수 갱신 단계에서 뻗어버림)
→ 멀티마스터 (모든 DB서버가 마스터 역할을 하도록 상호 동기화)
→ MariaDB Galera Cluster
→ 어느 DB서버가 살았는지 웹서버에서 실시간으로 판단해서 적당히 접속해 줘야 함
라운드 로빈에서 서버 하나가 죽으면 DNS에서 빼줘야 하는데, 최소 5분간 전체 사용자의 3분의 1이 먹통이 됨
→ 클라우드플레어 API를 사용하여 실시간으로 (초단위) 갱신하는 방법
→ 앞단에 로드밸런서를 붙여서 자동 처리하도록 하는 방법
→ 그런데 로드밸런서가 죽으면? ㄷㄷㄷ
결론: Single point of failure(SPOF)를 완전히 제거하는 것은 쉽지 않습니다.