Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

Cluster

Merhabalar,

Clusterın kullanımı hakkında yeteri kadar türkçe döküman bulamadım. Nedir ne değildir hakkında yazılardan ziyade, ben 2-3 vps ile cluster nasıl yapabilirim? veya bunun hizmetini yapan firmalar var mı?

Ayrıca php ile kod yazarken, ne gibi ayar yapmalıyım?

Bu konuda bana bilgi verebilirseniz veya yönlendirme yapabilirseniz çok sevinirim.

Şimdiden teşekkürler.
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Doğru Cevap

  • 1
    Kesali adlı üyenin fotoğrafı
    7 yıl önce yazılmış
    208 cevap - 2 soru
    Öncelikle iyi bir analiz yapman gerek, yoksa aklına gelemeyecek kadar sorunla boğuşmak zorunda kalırsın.

    İlk olarak neden cluster (aslında tamda cluster denemez) yapısına ihtiyacın var öncelikle bu soruya cevap vermelisin. Çünkü ihtiyacına göre çözümlerde değişecektir.

    Örnek olması için şu sebepten dolayı cluster a ihtiyacın olduğunu varsayalım. Siten gün geçtikçe kullanıcısını arttırıyor ve sen kodunda ve database inde gerekli optimizasyonları yaptın. Donanım güncellemeside sadece günü kurtaracak bir çözüm.

    1. Adım Load balancer. Sitene gelen trafiği nodelar arasına paylaştırır ve herhangibir node clusterda offline olursa o node a artık trafiği yönlendirmez. Bu iş için Nginx i kullanabilirsin.

    2. Adım artık birkaç tane serverın olduğu için database'ini bu makinalar üzerinde tutamazsın. Tüm bu nodeların bağlanacağı database clusterın veya güçlü hepsine yetecek bir database serverın olmalı.

    3. Adım nodelarda çalışan sitenin aynı kodlara sahip olması gerekir. Sitende bir değişiklik yaptığında tüm nodelarda aynı kodların olması gerekir. İki türlü bu sıkıntıyı çözebilirsin. Git gibi versiyon kontrol yazılımları kullanarak yaptığın değişiklikleri tüm nodelar üzerinde aynı anda güncellenmesini sağlamış olursun. Diğer bir çözüm ise merkezi bir depolama ünitesi nodelarının hepsinin bağlandığı ortak bir depolama ünitesi ile hem site kodların güncel versiyona sahip olmuş olur hemde upload edilen dosyalarda nodelar arasında paylaşılmış olur.

    4. Adım dosya upload işlemi. Sitene yüklene dosyaların bir şekilde nodelar arasında bir şekilde paylaşılması gerekir. Bunun için amazon, google gibi bulut depolama hizmeti satın alarak çözebilirsin veya yukarda yazdığım gibi nodelar arasında ortak bir depolama ünitesi ile tüm dosyaları nodelar arasında paylaştırabilrisin.

    5. Adım session. Artık siten birden fazla node üzerinde olduğu için node1 üzerinde login olan bir kullanıcı node2 ye geçince tekrar login olması gerekir. İki türlü çözebilirsin load balancer node1 bağlanan kullanıcıyı sürekli node1 e yönlendirir ise kullanıcı tekrar tekrar login olmak zorunda kalmaz. Ama nodelar session bilgilerini paylaşmadığı için node2 üzerinde bir işlem yapman gereklitiğinde login olman gerekir. Diğer çözüm session verilerini tüm nodelara açmak. Sessionlarını bir database üzerinde tutar ve nodelara paylaştırısan bu sorunda çözülür.

    Tabi bu clustera cache server ekleyerek tüm sunucuların genel performansına katkı yapabilirsin. İş yükünü workerlara dağıatabilirsin. Memcahe gibi direk yazılım üzerinde cache tutarsın vs vs.
    • Actionsee adlı üyenin fotoğrafı Actionsee
      Cevabın için çok teşekkür ederim. Güzel bir yazı olmuş. Cluster kullanmayı düşünmemin nedeni, 4. maddede yazıyor. Upload ve download olayları için kullanmayı düşünmüştüm.

      Cloud olayına bütçenin iyi olması gerekiyor. Bu yüzden cloud olayını 2. plana atmayı düşünüyorum. Peki bu ayarları şirketler mi yapıyor yoksa benim 2-3 vps alıp ayarları kendimin mi yapması gerekiyor?
      7 yıl önce yazılmış
    • Kesali adlı üyenin fotoğrafı Kesali
      İlk satırda dediğim gibi iyi bir analiz lazım. Eğer sitenin performansı ile ilgili bir sıkıntın yoksa ve gelen trafiği karşılayabilecek durumda isen. Tüm sistemi kökten bozmana gerek yok. Sana dar boğaz yapan kısmı çözmen rahatlatacaktır.

      Sanırım file upload veya video paylaşım sistemi gibi birşeyin var download lar sistemini yoruyor. Clouad en kolay ve en iyi çözüm olacaktır. Ama bütçe meselesi tabi. Amazon cloud sana bir bucket denen bir alan veriyor. Sen oraya uploadlarını yapıyorsun ve amazonda sana dosya yolunu veriyor. Birkaç saatlik kod revizyonu ile sorununu çözmüş olursun.

      Diğer çözüm ise site download işlemlerini ana site üzerinden değil sadece download yapmak için özelleştirdiğin başka bir vps üzerinden sağlamak.

      Örnek vermek gerkeirse. a.com siten olsun. download.a.com subdomainini bir başka sunucuya tanımlayıp. Apache yerine daha hafif nginx gibi sistemi yormayan bir web server kurarsın. Artık tüm downlaodlar ve uploaderı bu sunucu üzerinden yapmaya başlarsın.

      Biraz daha karışık ve teknik bilgi isteyen bir şey tabi.
      7 yıl önce yazılmış
    • Actionsee adlı üyenin fotoğrafı Actionsee
      Verdiğiniz bilgilerden dolayı teşekkür ederim.
      7 yıl önce yazılmış

Cevaplar

Hiç cevap bulunamadı.