SlideShare une entreprise Scribd logo
1  sur  16
Ölçeklenebilir Oyun Yapısı
Oyunun Server Taraflı Gereksinimleri
• Artan kullanıcı sayısına destek vermek
• Gerektiğinde sistemin alt yapısının
  ölçeklenebilmesi
• Herhangi bir sistem çöküşünde hızlı bir şekilde
  sistemi kaldırabilme.
• Alt yapı ölçeklemesini hızlı bir şekilde
  yapabilmek.
• Performanslı sistem kurmak ve olabildiğince
  ucuza mal etmek.
Uygulamanın Çalışma Prensibi
• Service tabanlı teknoloji ile iletişim sağlanır.
• Veriler veritabanında saklanır.
• Client herhangi bir veri için request te
  bulunur.
• Oyun durumu tek bir merkezden yönetilebilir.
 Dezavantajları
• Server istediği zaman client tarafına veri
  süremez.
Client Uygulamadaki Gereksinimler
• Oyun durumunun sunucu tarafına
  kaydedilmesi ve gerektiğinde çekilmesi(sahib
  olunan bina ve survivor bilgisi gibi).
• Server tarafına kaydedilen olayların takip
  edilmesi(bina inşasının bitmesi gibi)
• Ve diğer kullanıcılar ile etkileşimin sağlanması.
Client Uygulamadaki Zorluklar.
• Server tarafında deterministic olmayan
  olayları takip edebilmek(işte bu zor)
Örnek
• Arkadaşın oyna girişinin tesbiti.
• Friend requestinin tesbiti.
• Not veya gift bırakılmasının tesbiti.
• Campının visit edildiğinin tesbiti. Vb…
Client Uygulamadaki Zorluklar.
• Bu bilgilerin tesbiti için sunucu tarafına belli
  aralıklarla request gönderilir.
• Kullanıcı hiçbir şey yapmadığında bile
  requestler gönderilir.
• Sonuç olarak app server ve database servera
  yük biner.
Server Teknolojileri
Veritabanı
• RDBMS (mssql server,mysql,oracle ..)
• Key-Value document oriented
   db(Mongodb,redis,membase ..)
Cache sistemi
• Memcached
Servis Sunucusu(App Server)
IIS,apache,node.js ..
Server Teknolojileri
İşletim sistemi (os)
• Windows server ,linux varyasyonları(red hat
   debian ,ubuntu)
Servis Teknolojileri
• Asp.NET ,php,ruby on rail ..
Load Balancer
HAProxy …
Case Study(http://www.wooga.com)
• Sosyal oyun geliştirici firması.
Başlıca oyunları
• Diamond Dash, Magic Land, Monster World,
  Bubble Island
• Kullandıkları teknolojiler ve karşılaştıkları
  sorunlarla ilgili sunumlar bulunmakta .
• http://www.slideshare.net/wooga/tag/backen
  d
Case study
      http://code.zynga.com/2011/07/building-a-scalable-game-server/

• FarmVille 2009 da çıkardıklarında verilerini
 key-value şeklinde memcache de tutmaya karar
   veriyorlar.
• Memcache verileri ramde tutuyor ,persistent data için
   mysql kullanılıyor.
• Okuma hızı yüksek olasına karşın yazmada performans
   sıkıntısı oluyor.
• Sonrasında memcache Api+persistence data
   birleşminden membase oluşturuluyor ve kullanılmaya
   başlanıyor.
• İlk başta Amazon web service kullanan Zynga sonra
   kendi cloud sitemini geliştiriyor(ZCloud)
Server Hosting
• Dedicated Server
• Cloud Hosting
Dedicated Server Hosting

    Avantajları.
• Bütün sistem kaynaklarını kullanabilme .
• Bir server üstünde istenilen servisin çalıştırılabilmesi.

DezAvantajları
•    Sistem yönetimin iyi yapılması gerekir.
•    Uygulamanın büyümesiyle yeni server kiralanması gerekir.
•    Sistemi büyütmek zaman alır.
•    Sistem üzerindeki lisanlı ürünleri satın alınması gerekir.
•    Bütün kurulumlar sistemi alana aittir.
Cloud Hosting
Avantajları
• Server ölçeklemesi kolay.
• Kısa zamanda sistemin büyütülebilmesi.
• Yazılım lisanslama yapılmaz talep edilen ürünlere
  göre fiyat belirlenir.
• Fail durumlarda hızlı sistem kaldırabilme.
Dez Avantajları
• Daha az esneklik.
• Yüksek fiyat
Başlıca Cloud Hosting Servisleri
• Amazon EC2
• Windows Azure
• Google App Engine
Cloud Management Çözümleri
• Right Scale
• Amazon EC2 , Google App Engine, …
• http://www.rightscale.com/solutions/cloud-
  computing-uses/social-gaming-
  applications.php
• Scalarium
• http://www.scalarium.com/features/auto-
  scaling/
Teşekkürler

Contenu connexe

En vedette

презентация денежный монстр+вкус жизни
презентация денежный монстр+вкус жизнипрезентация денежный монстр+вкус жизни
презентация денежный монстр+вкус жизниIrina Oshnurova
 
Implementasi ketatausahaan kelas dan fungsi guru di SDN Dinoyo 3 Malang dan S...
Implementasi ketatausahaan kelas dan fungsi guru di SDN Dinoyo 3 Malang dan S...Implementasi ketatausahaan kelas dan fungsi guru di SDN Dinoyo 3 Malang dan S...
Implementasi ketatausahaan kelas dan fungsi guru di SDN Dinoyo 3 Malang dan S...Nastiti Rahajeng
 
Matematik kertas 2 lipis pahang
Matematik kertas 2 lipis pahangMatematik kertas 2 lipis pahang
Matematik kertas 2 lipis pahangshare with me
 
Pra upsr 2 math jpd baram julai 2013 k2 1
Pra upsr 2 math jpd baram julai 2013 k2 1Pra upsr 2 math jpd baram julai 2013 k2 1
Pra upsr 2 math jpd baram julai 2013 k2 1share with me
 
Conversation Chemistry Review
Conversation Chemistry ReviewConversation Chemistry Review
Conversation Chemistry Reviewwhileymelt
 
Kertas 1 (ppd betong)
Kertas 1 (ppd betong)Kertas 1 (ppd betong)
Kertas 1 (ppd betong)share with me
 
EspetáCulo FotográFico
EspetáCulo FotográFicoEspetáCulo FotográFico
EspetáCulo FotográFicoBeatris Lopes
 
Latvijas kulturpolitika Kulturas ministrijas fotografijas
Latvijas kulturpolitika Kulturas ministrijas fotografijasLatvijas kulturpolitika Kulturas ministrijas fotografijas
Latvijas kulturpolitika Kulturas ministrijas fotografijasJanis Daugavietis
 

En vedette (8)

презентация денежный монстр+вкус жизни
презентация денежный монстр+вкус жизнипрезентация денежный монстр+вкус жизни
презентация денежный монстр+вкус жизни
 
Implementasi ketatausahaan kelas dan fungsi guru di SDN Dinoyo 3 Malang dan S...
Implementasi ketatausahaan kelas dan fungsi guru di SDN Dinoyo 3 Malang dan S...Implementasi ketatausahaan kelas dan fungsi guru di SDN Dinoyo 3 Malang dan S...
Implementasi ketatausahaan kelas dan fungsi guru di SDN Dinoyo 3 Malang dan S...
 
Matematik kertas 2 lipis pahang
Matematik kertas 2 lipis pahangMatematik kertas 2 lipis pahang
Matematik kertas 2 lipis pahang
 
Pra upsr 2 math jpd baram julai 2013 k2 1
Pra upsr 2 math jpd baram julai 2013 k2 1Pra upsr 2 math jpd baram julai 2013 k2 1
Pra upsr 2 math jpd baram julai 2013 k2 1
 
Conversation Chemistry Review
Conversation Chemistry ReviewConversation Chemistry Review
Conversation Chemistry Review
 
Kertas 1 (ppd betong)
Kertas 1 (ppd betong)Kertas 1 (ppd betong)
Kertas 1 (ppd betong)
 
EspetáCulo FotográFico
EspetáCulo FotográFicoEspetáCulo FotográFico
EspetáCulo FotográFico
 
Latvijas kulturpolitika Kulturas ministrijas fotografijas
Latvijas kulturpolitika Kulturas ministrijas fotografijasLatvijas kulturpolitika Kulturas ministrijas fotografijas
Latvijas kulturpolitika Kulturas ministrijas fotografijas
 

Plus de Murat Çakal

Scaling web applications with cassandra presentation
Scaling web applications with cassandra presentationScaling web applications with cassandra presentation
Scaling web applications with cassandra presentationMurat Çakal
 
Mongodb open source_high_performance_database
Mongodb open source_high_performance_databaseMongodb open source_high_performance_database
Mongodb open source_high_performance_databaseMurat Çakal
 
Building web applications with mongo db presentation
Building web applications with mongo db presentationBuilding web applications with mongo db presentation
Building web applications with mongo db presentationMurat Çakal
 
Trouble with nosql_dbs
Trouble with nosql_dbsTrouble with nosql_dbs
Trouble with nosql_dbsMurat Çakal
 

Plus de Murat Çakal (10)

REST vs. SOAP
REST vs. SOAPREST vs. SOAP
REST vs. SOAP
 
Cassandra NoSQL
Cassandra NoSQLCassandra NoSQL
Cassandra NoSQL
 
Scaling web applications with cassandra presentation
Scaling web applications with cassandra presentationScaling web applications with cassandra presentation
Scaling web applications with cassandra presentation
 
Mongodb open source_high_performance_database
Mongodb open source_high_performance_databaseMongodb open source_high_performance_database
Mongodb open source_high_performance_database
 
Building web applications with mongo db presentation
Building web applications with mongo db presentationBuilding web applications with mongo db presentation
Building web applications with mongo db presentation
 
Wmware NoSQL
Wmware NoSQLWmware NoSQL
Wmware NoSQL
 
Trouble with nosql_dbs
Trouble with nosql_dbsTrouble with nosql_dbs
Trouble with nosql_dbs
 
NoSql databases
NoSql databasesNoSql databases
NoSql databases
 
RDBMS vs NoSQL
RDBMS vs NoSQLRDBMS vs NoSQL
RDBMS vs NoSQL
 
No sql
No sqlNo sql
No sql
 

Ölçeklenebilir Oyun Yapısı

  • 2. Oyunun Server Taraflı Gereksinimleri • Artan kullanıcı sayısına destek vermek • Gerektiğinde sistemin alt yapısının ölçeklenebilmesi • Herhangi bir sistem çöküşünde hızlı bir şekilde sistemi kaldırabilme. • Alt yapı ölçeklemesini hızlı bir şekilde yapabilmek. • Performanslı sistem kurmak ve olabildiğince ucuza mal etmek.
  • 3. Uygulamanın Çalışma Prensibi • Service tabanlı teknoloji ile iletişim sağlanır. • Veriler veritabanında saklanır. • Client herhangi bir veri için request te bulunur. • Oyun durumu tek bir merkezden yönetilebilir. Dezavantajları • Server istediği zaman client tarafına veri süremez.
  • 4. Client Uygulamadaki Gereksinimler • Oyun durumunun sunucu tarafına kaydedilmesi ve gerektiğinde çekilmesi(sahib olunan bina ve survivor bilgisi gibi). • Server tarafına kaydedilen olayların takip edilmesi(bina inşasının bitmesi gibi) • Ve diğer kullanıcılar ile etkileşimin sağlanması.
  • 5. Client Uygulamadaki Zorluklar. • Server tarafında deterministic olmayan olayları takip edebilmek(işte bu zor) Örnek • Arkadaşın oyna girişinin tesbiti. • Friend requestinin tesbiti. • Not veya gift bırakılmasının tesbiti. • Campının visit edildiğinin tesbiti. Vb…
  • 6. Client Uygulamadaki Zorluklar. • Bu bilgilerin tesbiti için sunucu tarafına belli aralıklarla request gönderilir. • Kullanıcı hiçbir şey yapmadığında bile requestler gönderilir. • Sonuç olarak app server ve database servera yük biner.
  • 7. Server Teknolojileri Veritabanı • RDBMS (mssql server,mysql,oracle ..) • Key-Value document oriented db(Mongodb,redis,membase ..) Cache sistemi • Memcached Servis Sunucusu(App Server) IIS,apache,node.js ..
  • 8. Server Teknolojileri İşletim sistemi (os) • Windows server ,linux varyasyonları(red hat debian ,ubuntu) Servis Teknolojileri • Asp.NET ,php,ruby on rail .. Load Balancer HAProxy …
  • 9. Case Study(http://www.wooga.com) • Sosyal oyun geliştirici firması. Başlıca oyunları • Diamond Dash, Magic Land, Monster World, Bubble Island • Kullandıkları teknolojiler ve karşılaştıkları sorunlarla ilgili sunumlar bulunmakta . • http://www.slideshare.net/wooga/tag/backen d
  • 10. Case study http://code.zynga.com/2011/07/building-a-scalable-game-server/ • FarmVille 2009 da çıkardıklarında verilerini key-value şeklinde memcache de tutmaya karar veriyorlar. • Memcache verileri ramde tutuyor ,persistent data için mysql kullanılıyor. • Okuma hızı yüksek olasına karşın yazmada performans sıkıntısı oluyor. • Sonrasında memcache Api+persistence data birleşminden membase oluşturuluyor ve kullanılmaya başlanıyor. • İlk başta Amazon web service kullanan Zynga sonra kendi cloud sitemini geliştiriyor(ZCloud)
  • 11. Server Hosting • Dedicated Server • Cloud Hosting
  • 12. Dedicated Server Hosting Avantajları. • Bütün sistem kaynaklarını kullanabilme . • Bir server üstünde istenilen servisin çalıştırılabilmesi. DezAvantajları • Sistem yönetimin iyi yapılması gerekir. • Uygulamanın büyümesiyle yeni server kiralanması gerekir. • Sistemi büyütmek zaman alır. • Sistem üzerindeki lisanlı ürünleri satın alınması gerekir. • Bütün kurulumlar sistemi alana aittir.
  • 13. Cloud Hosting Avantajları • Server ölçeklemesi kolay. • Kısa zamanda sistemin büyütülebilmesi. • Yazılım lisanslama yapılmaz talep edilen ürünlere göre fiyat belirlenir. • Fail durumlarda hızlı sistem kaldırabilme. Dez Avantajları • Daha az esneklik. • Yüksek fiyat
  • 14. Başlıca Cloud Hosting Servisleri • Amazon EC2 • Windows Azure • Google App Engine
  • 15. Cloud Management Çözümleri • Right Scale • Amazon EC2 , Google App Engine, … • http://www.rightscale.com/solutions/cloud- computing-uses/social-gaming- applications.php • Scalarium • http://www.scalarium.com/features/auto- scaling/