Saat ini saya sedang mencoba untuk membuat kluster yang dapat diskalakan secara horizontal untuk aplikasi web berbasis drupal, yang terlihat seperti diagram berwarna di bawah ini:
Penyeimbang beban menerapkan sesi tempel, sehingga pengguna tetap menyatakan setelah mereka dialokasikan server untuk bekerja dengan.
Setiap server aplikasi memiliki yang berikut ini:
- pernis di bagian depan
- drupal 6 di tengah berjalan di atas tumpukan lampu
- memcached di belakang
Dua server database mysql berada di IP bersama, dan mereka berada di cluster HA dengan DRBD, dan detak jantung, sehingga kehilangan satu tidak akan menjatuhkan seluruh platform.
Ada beberapa hal yang saya tidak yakin tentang itu. Saya menghargai pendapat Anda tentang:
Bagaimana seharusnya skala penyimpanan file secara horizontal?
Saya sedang berpikir untuk menggunakan NFS untuk memasang direktori file bersama di setiap server aplikasi, jadi file yang diunggah di satu tempat tersedia di semuanya. Saya berpikir tentang NFS karena sudah ada sejak lama, dan saya tidak punya pengalaman dengan MogileFS atau GlusterFS, dan ini adalah sesuatu yang telah kami gunakan sebelumnya, jadi kami lebih akrab dengannya.
Apakah ada pedoman untuk mengikuti untuk mengetahui berapa banyak server itu bijaksana untuk berbagi direktori melalui NFS dengan cara ini?
Bagaimana seharusnya HA disediakan pada penyimpanan file bersama di sini?
Satu masalah di sini adalah bahwa server NFS adalah satu titik kegagalan.
Kami sudah menggunakan Detak Jantung dan DRBD pada server Mysql, dan saya lebih suka untuk menjaga jumlah teknologi yang terlibat dalam tumpukan serendah mungkin - jebakan apa yang akan terjadi jika saya menggunakan strategi HA yang sama untuk file tersebut server juga?
Pendekatan alternatif
Ini untuk situs yang menghadap internal, dengan sejumlah pengguna terbatas yang sesekali menggunakan situs ini secara intensif untuk waktu yang singkat, ketika inisiatif internal aktif. Jadi ini tidak perlu skala jauh seperti startup.
Mengingat bahwa
- ada batas lalu lintas atas yang bisa kita harapkan
- menambahkan menambahkan HA ke file server, dan merancang pengaturan untuk skala secara horizontal seperti ini memperkenalkan kompleksitas yang cukup besar
Saya juga mempertimbangkan hanya membuat dua server web lebih besar sehingga mereka yang akan menangani beban puncak di antara mereka, dan mengatur secara bersamaan, atau rsync melintasi keduanya pada pekerjaan cron, sehingga:
- file-file itu masih dalam sinkronisasi (sesi tempel menjaga pengguna di server yang sama dengan file yang diunggah)
- kehilangan satu berarti situs tersebut masih operasional.
Apakah ini terdengar seperti cara yang mungkin untuk mengatasi kemungkinan sakit kepala kompleksitas NFS / DRBD HA?
Terima kasih,
C