Я планирую использовать Amazon Web Service (AWS) для переноса на них существующей инфраструктуры LAMP. Итак, я создал простой дизайн моей системной архитектуры со следующим.
* 1 Elastic Load Balancer для балансировки нагрузки и переключения сервера при отказе. * 2 экземпляра EC2 для веб-сервера (web1 и web2) * 1 экземпляр EC2 для сервера NFS с подключенным EBS для общего общего хранилища * 1 RDS для MySQL
Вот как это выглядит на схеме:
Этот дизайн находится только в зоне (us-east-1a).
Мой вопрос:
Есть ли проблемы с производительностью при использовании сервера NFS для обслуживания обоих экземпляров EC2? Может ли произойти какая-либо блокировка файлов для этой настройки?
Можно ли обеспечить высокую доступность NFS для нескольких зон доступности? Это потому, что у меня только 1 сервер NFS, и когда он не работает, другой резервный сервер NFS, скажем, в Зоне B, будет резервным. Если да, то как это сделать?
Возможно ли иметь высокую доступность (HA) для другого региона на случай катастрофы в регионе?
Я хотел бы услышать от кого-нибудь, как они проектируют и планируют свою инфраструктуру. Если вы можете порекомендовать это намного лучше, чем мой дизайн, я буду признателен.
Спасибо. Джеймс
NFS всегда будет единственной точкой отказа. Вы можете использовать S3FS и использовать S3 в качестве общего файлового сервера или создать свой собственный кластер GlusterFS, который устраняет проблемы с NFS.
В зависимости от данных и того, как вы их используете, можно записать данные в S3, а затем передать их в веб-браузер через CloudFront прямо из S3. Тогда вам вообще не нужно будет получать доступ к файлам с веб-серверов.
S3FS: http://code.google.com/p/s3fs/ GlusterFS: http://www.gluster.org/