Kami menyiapkan lingkungan wordpress di 4 server IIS. Kami sedang mempertimbangkan untuk menggunakan tugas yang dijadwalkan memicu skrip robocopy untuk mereplikasi direktori wordpress setiap 5 menit.
Apa pendapat tentang pendekatan seperti itu? Adakah yang pernah menggunakan ini atau serupa?
windows
iis
web-server
wordpress
joebegborg07
sumber
sumber
Jawaban:
Memiliki 4 server ujung depan yang berbagi file yang sama pada waktu yang sama dan masing-masing dapat menulis tanpa menggunakan semacam DFS atau program pihak ketiga yang didedikasikan untuk sinkronisasi direktori akan menjadi night mare.
Dengan biru Anda dapat melihat 3 hal.
Penyimpanan bersama, mungkin ada beberapa biaya yang terkait dengan mendapatkan penyimpanan khusus Anda sendiri, dan saya tidak yakin dengan konfigurasi namun Azure menawarkan ini. Ini akan memastikan semua file Anda tersedia untuk setiap server segera setelah ditulis.
Azure DFS, DFS adalah alat sinkronisasi direktori berbasis windows yang bekerja dengan baik, juga tidak yakin tentang biaya tetapi konfigurasi mungkin sedikit lebih mudah. DFS memang bekerja secara tidak sinkron sehingga ada sedikit keterlambatan tetapi tidak banyak.
(Saya akan menjelaskan bagaimana ini akan dilakukan dan kemudian tidak pernah membicarakannya lagi, karena itu adalah ide yang mengerikan dan akan gagal.) Buat skrip yang pertama-tama akan membandingkan data pada keempat server kemudian menyalin data diferensial. Anda perlu membagikan masing-masing direktori ke satu server yang menjalankan skrip, mengatur izin sehingga server dapat membaca dan menulis dan kemudian memecahkan masalah memecahkan masalah, memecahkan masalah.
Salah satu opsi dari atas akan melakukan pekerjaan, jika pekerjaan Anda bergantung pada pekerjaan ini, saya sarankan Anda menjauh dari opsi 3.
Yang sedang berkata, dan Anda tidak mencoba menghabiskan uang, ikuti langkah-langkah di bawah ini.
lihat program yang disebut "sinkronisasi file gratis". Ada beberapa fitur yang sangat bagus untuk versi gratis. Saya percaya ada versi berbayar tetapi saya tidak yakin dengan peningkatan yang Anda dapatkan. Saya telah menggunakannya di banyak lingkungan dev saya ketika mencoba untuk mencapai sesuatu yang mirip dengan apa yang Anda ingin lakukan dan malas untuk mengatur DFS.
Buat hanya satu server yang dapat ditulisi, ini dapat dengan mudah dilakukan dengan mengkonfigurasi URI pada setiap server yang mengatakan jika membuat artikel buka ServerA, atau URL menulis ulang di web.config Anda, atau karena WordPress menggunakan php:
header ('Location: http://myhost.com/mypage.php ');
Masing-masing akan mengambil sedikit pengkodean dan PHP, pengetahuan IIS.
Jawaban singkat Anda tidak bisa, yah itu tidak sepenuhnya benar, saya pernah memiliki pelanggan yang bersikeras tidak menggunakan load balencer ia mampu melalui serangkaian skrip PowerShell untuk memindahkan koneksi dari satu server ke server lain berdasarkan jumlah proses pekerja pada setiap kotak atau sesuatu seperti itu. Either way sangat sulit dilakukan dan tidak sepadan dengan waktu dan energi untuk diajukan.
Lihat apakah Anda tidak dapat mengonfigurasi Network Load Balancing di server, Ini akan memerlukan IP tambahan tetapi hanya satu perubahan DNS dan lalu lintas dapat didistribusikan untuk dibaca di 3 server.
Semoga berhasil!
sumber
Terima kasih untuk semua saran orang.
Solusi kami menggunakan pendekatan sinkronisasi peer-to-peer menggunakan alat yang disebut resilio.
Resilio memungkinkan kami untuk mengonfigurasikan sejumlah komputer (dalam hal ini IIS Front berakhir) dalam cluster sinkronisasi peer-to-peer. Folder dipilih dari setiap komputer di cluster yang akan digunakan untuk proses sinkronisasi.
Layanan resilio (layanan windows berjalan di latar belakang), memonitor folder-folder ini untuk setiap perubahan dan jika perubahan dilakukan pada folder yang ditentukan di bagian depan akan dipertanyakan, resilio akan mendorong perubahan itu ke server lain.
Saya harap ini dapat membantu orang lain menghadapi masalah serupa di masa depan.
sumber
Saya tidak berpikir tugas yang dijadwalkan dan Robocopy adalah pendekatan yang bagus. Karena jendela 5 menit akan ada waktu di mana sumber daya diminta tetapi server yang dipilih oleh load balancer tidak akan memilikinya tersedia. Untuk sebagian besar situs statis ini akan terjadi jauh lebih jarang daripada dengan situs sibuk sering berubah. Frekuensi yang lebih tinggi atau menggunakan teknologi sinkronisasi yang berbeda seperti Bittorrent Sync (sekarang disebut Resilio Sync ) akan meningkatkan ini sedikit, tetapi tidak menghilangkan masalah.
Menempatkan konten wp Anda atau mungkin hanya folder wp-content / upload ke drive bersama akan menjadi solusi yang lebih baik. Cara lain untuk melihatnya adalah dengan meminta salah satu server meng-host folder itu, dan meminta yang lain membaginya. Dengan caching disk, beban pada server seharusnya tidak lebih tinggi dari server lain.
Memperbarui
Lihat artikel ini untuk mengetahui ide tentang caching halaman, dan ini untuk CDN. Ini tentang Nginx sehingga Anda harus mengatasinya untuk IIS, tetapi teori di baliknya valid untuk server web mana pun.
sumber