고가용성 서버(특히 LAMP 스택)를 설정하는 가장 올바른 방법(업계 표준)이 무엇인지 잘 모르겠습니다.
내가 가지고 있다고 가정 해 봅시다 :
- 로드 밸런싱된 웹 서버 2개(Apache)
질문:
- 이 Apache 풀을 파일 서버로 사용하는 가장 좋은 방법은 무엇입니까?
"코드 파일"에 대한 HA 설정에 대해 이야기하고 있습니다.("데이터베이스"는 데이터베이스 서버에서 또 다른 이야기가 될 수 있기 때문입니다. 그리고 "미디어 콘텐츠"는 이제 Amazon S3에 있을 수 있습니다)
따라서 이를 위해 지금까지 내가 아는(사용된) 유일한 방법은 다음과 같습니다.
- NFS 서버 1개 시작
- 드라이브 아웃 공유
- 2개의 Apache 서버에 설치
하지만 난 이걸 알아(NFS) 신뢰성이 높지 않음.
그렇다면 고가용성 서버(특히 LAMP 스택)를 설정하는 가장 올바른(업계 표준) 방법은 무엇입니까?
답변1
나는 보통 웹 서비스용 데이터를 저장하기 위해 버전 제어 시스템을 사용합니다. 이를 통해 다음을 수행할 수 있습니다.
- 실수가 발생한 경우 쉽게 롤백할 수 있습니다.
- 파일 서버를 사용하지 않고도 각 서버의 로컬 파일 시스템에 데이터를 저장할 수 있는 기능(리포지토리를 각 서버에서 한 번씩, 두 번만 확인하면 됩니다).
하지만 변경 사항이 적시에 두 웹 서버 모두에 표시되도록 하려면 몇 가지 방법이 필요합니다. "풀"(각 네트워크 서버의 크론 작업) 또는 "푸시"(업데이트를 트리거하는 버전 제어 시스템의 후크) 메커니즘을 사용할 수 있습니다. 가장 적합한 것은 여러 요인에 따라 달라집니다.
널리 사용되는 두 가지 버전 제어 시스템은 Subversion(중앙 집중식)과 git(분산형, 제가 가장 좋아하는 시스템)입니다.