Domain - Hosting - Reseller - Dedicated Server - Virtual Server - IRC Shell - Seedbox
Birden Fazla Sunucuya Ortak Veritabanı
Birden Fazla Sunucuya Ortak Veritabanı
-
Merhaba, başlıkta belirttiğim sisteme ihtiyacım var. Bu sistem online oyunda kullanılacaktır.
Şuan kullandığım sistem bana bir kaç bölgede sunucu desteği veriyor. (Asya, avrupa vs..) Fakat bu sistemin sağladığı sunucular arasında Türkiye'ye en yakın sunucuyu Avrupa olarak belirlediği için oyunda gecikme/ping oluyor.
Ayrıca farklı bir sunucuda da kullanıcı kayıt işlemlerini yazmam gerekiyor. (Kullandığım altyapı PhotonEngine)Bu sistemi kullanmak yerine Socket.io'yu kullanarak online altyapıyı kendim hazırlamak istedim. Corelux'dan Türkiye'de bir sunucu alıp test yaptığımda gayet akıcı bir şekilde oyun oynanabiliyor.
Socket.io'yu kullanırsam Türkiye dışında bir kaç ülkeden daha sunucu almam gerekiyor. Kullanıcının bulunduğu lokasyona göre pingi en az olan sunucuya bağlanması gerekiyor.
Gelelim sorularıma.
1. Birden fazla lokasyonda sunucu almam gerektiğini yazmıştım. Türkiye'de dahil olmak üzere bir çok lokasyonlarda nereden vps satın alabilirim? (Tek bir siteden satın almak istiyorum.)
2. Bahsettiğim sistemi kurarsam bütün sunucuların veritabanı senkronize olması gerekiyor. A sunucusunda yapılan değişiklik B-C-D sunucularınada yansımalı. Bu sistemi nasıl kurabilirim? (Replication ve Cluster'dan bahsedilmiş ama Master-Slave sistemi pek işime yaramayacak gibi.)
Teşekkürler.
-
Guncel...
-
azure ?
-
Bu konuda pratik sahibi değilim fakat okuduğum kadarıyla cluster ile çözülebiliyor bu sorun.
Ayrıca bulut teknolojisi işini görmüyor mu hocam ?
-
Burada bir kaç soru sorarak başlamam lazım. Öncelikle verilerinin hepsi ilişkisel veritabanında mı duruyor(MsSQL, MySQL etc), yazmanın okumaya oranı nedir ve latency ne kadar önemli.
Örnek: Mesela veri tabanı olarak ilişkisel veri tabanı kullanıyorsun ve yüksel latency'e duyarlı ağırlıklı okuma olan bir uygulaman var(Genelde senaryoların %80'i budur)
Yapabileceklerin:1)MsSQL alwaysOn asenkron veya MySQL için Mirror kurup active/pasif yapı kuracaksın aktif node'a yazma ve okuma yapılırken pasif node'a sadece okuma istekleri geliyor. Uygulaman farklı veri merkezlerinde olsa bile okuma için her zaman en yakında ki pasif node'a giderken sadece yazma için aktif node'un olduğu yere gider. Bu sayede isteklerin çoğu okuma olduğundan ciddi performans artın olurken yazma içinse performans sorununu MQ yapısıyla çözebilirsin. Tek sorun yapılan değişiklikler Asenkronizasyon süresi neyse o kadar zaman sonra yansır.
2)AWS, Azure gibi yapılar bunu hem ilişkisel hem de noSQL için servis olarak veriyorlar ve belli bir maliyetle farklı noktalara veri tabanlarını uzatıyorlar ama yine okuma ve yazma aktif/pasif şekilde oluyor.
Edit: Sorunun son kısmını okumamışım. Tek yerden almanın en mantıklı çözümü AWS/Azure/GCP birini seç hepsi pratikte aynıdır. Mimari olarak değişikliği yapıldığı anda her yapıya anında yansımasını istiyorsan senkronize yapı kurman lazım ama bunun performansa özellikle uzak lokasyonlu yapılarda pek iyi etkisi olmuyor. Aktif aktif yapı kurabilirsin ama genelde felakete davetiye çıkartıyor
sandman tarafından 12/Şub/19 12:41 tarihinde düzenlenmiştir -
Yorumlar için teşekkürler.
Şunuda belirtmeliyim ki veritabanları ve sunucular hakkında çok fazla bilgiye sahip değilim. Basit düzeyde sunucuya nodejs kurup mysqlde kayıt/güncelleme gibi işlemleri yapıyorum.
Amazon'a baktığımda AWS EC2 kullanmam gerekiyor galiba. İsimler biraz farklı. Genellikle hep plesk kurulu sunucu kullandım.Sunucu işlemlerine bakan müşterimin çalışanı var fakat biraz yavaş ilerliyor. Sunucu kısmı yavaş gidince bizim taraftada işler uzuyor.
Çok derin bir konu değilse kendim halletmeye çalışıyorum ki bir an önce projeyi teslim edebileyim. -
Birden fazla socket'i tek bir çatı altında nasıl toplayacaksın hocam ?
-
Orbit(Isparta),Dgn,Radore ve ni den yardımcı olabilirim hocam. Detaylar için pm