현재 drupal 기반 웹 응용 프로그램에 대해 수평 확장 가능한 클러스터를 사양하려고합니다. 아래의 다채로운 다이어그램과 같습니다.
로드 밸런서는 고정 세션을 구현하므로 작업 할 서버가 할당되면 사용자는 상태를 유지합니다.
각 앱 서버에는 다음이 있습니다.
- 정면에 와니스
- 램프 스택에서 실행되는 중간에 드루팔 6
- 뒷면에 memcached
두 개의 mysql 데이터베이스 서버는 공유 IP에 있으며 DRBD가있는 HA 클러스터와 청취 비트에 있으므로 하나를 잃어도 전체 플랫폼이 다운되지 않습니다.
확실하지 않은 몇 가지 사항이 있습니다.
파일 스토리지는 어떻게 수평 확장해야합니까?
NFS를 사용하여 각 앱 서버에 공유 파일 디렉토리를 마운트하려고 생각하므로 한 번에 업로드 된 파일을 모든 파일에서 사용할 수 있습니다. NFS는 오래 전부터 있었기 때문에 생각하고 있으며 MogileFS 또는 GlusterFS에 대한 경험이 없으며 이전에 사용했던 것이므로 더 익숙합니다.
이런 식으로 NFS를 통해 디렉토리를 공유하는 것이 현명한 서버 수를 계산하기 위해 따라야 할 지침이 있습니까?
공유 파일 스토리지에서 HA를 어떻게 제공해야합니까?
여기서 한 가지 문제는 NFS 서버가 단일 장애 지점이라는 것입니다.
우리는 이미 Mysql 서버에서 Heartbeat와 DRBD를 사용하고 있으며 스택에 관련된 기술의 수를 가능한 한 낮게 유지하고 싶습니다. 파일에 동일한 HA 전략을 사용하는 경우의 함정 서버도?
대체 접근법
내부 이니셔티브가 활성화되어있을 때 때때로 짧은 기간 동안 사이트를 매우 집중적으로 사용하는 제한된 수의 사용자가있는 내부 대면 사이트를위한 것입니다. 따라서 이것은 일부 스타트 업처럼 무한대로 확장 할 필요가 없습니다.
을 고려하면
- 예상 할 수있는 트래픽에는 상한이 있습니다.
- 파일 서버에 HA를 추가하고 이와 같이 수평으로 확장되도록 설정을 설계하면 상당히 복잡해집니다.
또한 두 웹 서버를 더 강력하게 만들어서 사이의 최대 부하를 처리하고 단일 작업을 설정하거나 cron 작업에서 두 서버를 rsync하는 것을 고려하고 있습니다.
- 파일이 여전히 동기화 상태에 있습니다 (고정 세션은 파일을 업로드 한 서버와 동일한 서버에서 사용자를 유지합니다)
- 하나를 잃어 버리면 사이트가 여전히 작동 중임을 의미합니다.
NFS / DRBD HA 복잡성 문제를 해결할 수있는 방법처럼 들립니까?
감사,
씨