iki kişi farklı kanallarda bir mob kestiğinde iki game de tablodaki değeri mi güncelliyor yanigörevde istenen mob kesilince ilerleme önce MySQL tablosuna ekleniyor sonra P2P ile diğer kanal ve corelara bildiriliyor böylece bütün kanallarda görev sayısı aynı görünüyor
örneğin şu an ilerleme 30/150
ch1 ve ch2 de aynı anda mob kesildiğinde ikiside 30’u 1 arttıracağı için 31/150 olmayacak mı ilerleme?
Yok ikisi de 30 değerini okuyup 31 olarak yazmıyoriki kişi farklı kanallarda bir mob kestiğinde iki game de tablodaki değeri mi güncelliyor yani
örneğin şu an ilerleme 30/150
ch1 ve ch2 de aynı anda mob kesildiğinde ikiside 30’u 1 arttıracağı için 31/150 olmayacak mı ilerleme?
SQL tarafında progress eşittir progress artı 1 şeklinde atomik güncelleme yapılıyor
Aynı anda iki kesim gelirse MySQL satırı kilitliyor
İlk işlem 30 değerini 31 yapıyor
İkinci işlem ilkini bekleyip 31 değerini 32 yapıyor
Sonuç 32 /150 oluyor
P2P ise veriyi tekrar MySQLe yazmıyor sadece diğer kanal ve corelerdeki önbelleği ve ekranı güncelliyor
her metin kesmemiz 1 update sorgusu mu yapıyor yani? kalabalık oyunlarda sorun yaşatmaz mıYok ikisi de 30 değerini okuyup 31 olarak yazmıyor
SQL tarafında progress eşittir progress artı 1 şeklinde atomik güncelleme yapılıyor
Aynı anda iki kesim gelirse MySQL satırı kilitliyor
İlk işlem 30 değerini 31 yapıyor
İkinci işlem ilkini bekleyip 31 değerini 32 yapıyor
Sonuç 32 /150 oluyor
P2P ise veriyi tekrar MySQLe yazmıyor sadece diğer kanal ve corelerdeki önbelleği ve ekranı güncelliyor
Evet Sorun yaşatmamak adına Lonca Üye sınırlaması ve lonca başkanı görev başlat demeden görev sorgusu mysql gitmezher metin kesmemiz 1 update sorgusu mu yapıyor yani? kalabalık oyunlarda sorun yaşatmaz mı
+ olarak mysql p2p çagrıları çok şişmesi için en az 500 ve üzeri oyuncunun aynı anda görevleri yapması gerek
sorun olacagını düşünmedim
tabi sizlerin tecrübesine güvenerek sormak isterim daha nasıl bir önlem ala bilirim ?
önlem değilde design'ı değiştirebilirsin, 1 master server olur, diğer corelar kendi cachelerini yalnızca oyuncuya göstermek için tutarlar güncellemeleri master server'a event olarak yollarlar -> x guilld y mission +z gibiEvet Sorun yaşatmamak adına Lonca Üye sınırlaması ve lonca başkanı görev başlat demeden görev sorgusu mysql gitmez
+ olarak mysql p2p çagrıları çok şişmesi için en az 500 ve üzeri oyuncunun aynı anda görevleri yapması gerek
sorun olacagını düşünmedim
tabi sizlerin tecrübesine güvenerek sormak isterim daha nasıl bir önlem ala bilirim ?
master server progress'i kaydettikten sonra diğer corelara bilgiyi dağıtır, dağıtıldığında eğer corelarda bir diff var ise corelar kendi cachelerini güncellerler
görev tamamlama, ilerleme, skip gibi kontroller yalnızca master serverda yapılır
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 1
- Görüntüleme
- 83
- Cevaplar
- 1
- Görüntüleme
- 77
- Cevaplar
- 1
- Görüntüleme
- 130