Yüksek kullanılabilirlik için WordPress'i 2 VM'de çalıştırma


12

Microsoft Azure, uygulamaların "yüksek kullanılabilirlik" SLA'larına ulaşmak ve sitelerinizin rutin bakım için kapanmadığından emin olmak için birden çok veri merkezinde iki örnek kullanmasını gerektirir. Hatta hangi veri merkezi çiftlerinin asla aynı anda bakım yapmayacağını söylerler.

Her şey yolunda ve güzel ama aynı sanal makinede MySQL veritabanına sahip WordPress gibi bir uygulama için bunu nasıl kolayca yaparsınız? İki VM arasındaki dengelemeyi yüklemek için yabancı değilim ama veritabanı çoğaltma kurulumu beni kaçırıyor. Senkronizasyondan çıkabilen verilerin iki sürümünü istemeyiz. MySQL çoğaltması, bir kullanıcı slave örneğine indiğinde değişiklikleri ana DB ile senkronize etmeyecek bir master-slave kurulumu gerektiriyor gibi görünüyor.

Sadece bu kavramı yanlış mı anlıyorum? Herhangi bir yardım çok takdir!


1
WordPress'i neden Azure'da barındırıyorsunuz? WordPress için daha iyi ve daha ucuz hosting var. Örneğin Dijital Okyanus.
Alexus

1
Alexus, burada gerçekten alakalı değil, ancak Azure'un altyapısına yayılmış oldukça büyük bir yığınımız var, bu da WordPress'in sadece bir bileşenidir. Azure harika bir platform ve bundan çok memnunuz.
Yaron

1
Anladım. Yapmanız gerekeni yapmalısınız :) Ayrıca .NET şeylerimin çoğu için Azure'u seviyorum, ancak her zaman WP sitelerini ayrı olarak barındırdım.
Alexus

Yaron, aşağıdaki cevabı faydalı buldunuz mu? Şimdiye kadar 3 oy aldı, sadece herhangi bir önemli kavramın eksik olup olmadığını kontrol etmek istedim, böylece özel kullanım durumunuz için adresinizi güncelleyebilirim.
Bryan 'BJ' Hoffpauir Jr.

1
@ Bryan'BJ'Hoffpauir kapsamlı cevap için çok teşekkürler ve üzgünüm bizim uygulama ile çalışıp çalışmadığını görmek için talimatları takip etmek için zaman yoktu. Cevabı doğru olarak işaretliyorum ve herhangi bir sorunla karşılaşırsam tekrar ulaşacağım. Tekrar teşekkürler!!
Yaron

Yanıtlar:


11

Kötü Haber: Wordpress'in temel açık kaynak tabanı, tek bir sunucuda (wp içerik, kullanıcı yüklemeleri ve medya kitaplığı) birkaç sunucuda çalıştırılmakla ilgili birkaç varsayım yapar.

İyi Haber: Hemen hemen tüm bulut sağlayıcıları (Azure dahil), bu tasarım sınırlamalarını çözmenize izin veren soyutlamalara sahiptir.

Temel olarak, aşağıdaki endişeleri ele alacaksınız:

  • İki (veya daha fazla) "ön uç" Wordpress web / uygulama sunucusu arasındaki dengeleme trafiğini yükleyin. Kullanıcıların sitelere giriş yapmasına izin vermediğiniz sürece Wordpress ÇOK vatansız olduğu için çok zor değil. Bu, DNS ve Yük Dengeleyicilerinin bir kombinasyonu ile yapılır. Uygulama sunucularınız için 2 IP için desteğe ihtiyacınız olacak - 1 set İnternet üzerinden yönlendirilebilen alt ağa bağlanacaktır (umarım aşağıda ana hatları belirtilmeyen bir güvenlik duvarı tarafından korunur) ve diğer ikisi ayrı bir FARKLI alt ağda olacaktır diğer ağı içerir ve Veritabanı Sunucusu Örneklerini içerir, ancak temel anahat şöyledir:
                     / - (10.0.0.1 - eth0) wp1.etkialanı.com (10.0.1.1 - eth2)
(Genel IP) wp.domain.com          
                     \ - (10.0.0.2 - eth1) wp2.domain.com (10.0.1.2 - eth3)
  • Oturumları yönetme Kullanıcıların sitelere giriş yapmalarına izin veriyorsanız. Öyleyse, sunucu 1'e giriş yaptıklarında gelecekteki tüm isteklerinin o sunucuya yönlendirildiğinden (yapışkan oturumlar) veya oturumların başka bir mekanizma ile yönetildiği için hangi sunucuya eriştiklerinin önemli olmadığından emin olmanız gerekir. ( örneğin Zend Server Oturum Kümelemesi aracılığıyla ).

  • Yönetici Girişlerini Yönetme Bazı kullanıcıların içeriği yönetmek için arka uca giriş yapmasına izin veriyorsanız (yukarıdakine benzer).

  • AYRICA Mevcut Olduğu DB Sisteminin Seçilmesi. DB çökme tüm sistemi aşağı getiriyorsa iki ön uç sunucuları sahip olmanın bir anlamı yok. SQL Server'dan yararlanmak için MyDQL Master / Slave çoğaltmasını ClearDB aracılığıyla kullanmanız veya eklenti aracılığıyla WordPress'i değiştirmeniz gerekir, böylece yerel kümeleme sistemlerini kullanabilirsiniz . Bu, DB katmanını kendiniz yönetmek istiyorsanız en az 4 VM'ye ihtiyacınız olduğu anlamına gelir (2 x App & 2 x DB). İşte böyle görünebilir:

               / - wp1.etkialanı.com (10.0.1.1) \ --- / (10.0.1.3) db1.etkialanı.com (10.0.2.3) \
         wp.domain.com X |           
               \ - wp2.domain.com (10.0.1.2) / --- \ (10.0.1.4) db2.domain.com (10.0.2.3) /

  • NOT - güvenilir yük devretme sağlamak ve sistemin güvenliğini korumak için, THIRD ağ alt ağı genellikle iki veritabanı düğümünü, uygulama sunucularının konuşmak için kullandığı diğer iletişim ağlarından ayrılmış özel bir kanal aracılığıyla birbirine bağlamak için kullanılır veritabanı ve uygulama sunucuları dış dünya ile iletişim kurmak için kullanır.

  • Uygulama sunucunuzun veritabanı bağlantılarının performansını ve güvenilirliğini en üst düzeye çıkarmak için Bağlantı Havuzu Oluşturmayı etkinleştirme.

  • Ön uç sunuculardaki yükü en aza indirmek için W3 Total Cache veya Super Cache gibi bir Önbellek eklentisinden yararlanma.

Aşağıdaki kılavuzlar, yukarıdaki zorlukların her birini nasıl ele alabileceğinize ilişkin ayrıntılar sunmaktadır. Azure'da her birini ele almanın birkaç yolu vardır, bu nedenle her bir zorluğa nasıl saldırmak istediğinize karar vermek ve yığında yukarı ve aşağı çalışırken bu seçeneklerin her birinin getirdiği kısıtlamalarla uğraşmak size kalmış.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.