1. sayfa
yardım edin lütfen |
Güzel.
Ajax ne için? Soket üzerinden göndereceksin verilerini.
Laravel hantal çalışır. React içinde boot edip kullanmayı deneyebilirsin (ben denemedim) veya zend opcache kullanabilirsin. L4 performansını büyük ölçüde artırıyor. İşlemleri sıralı şekilde yaptıracaksan queue kullanacaksın. En kolay Iron.io Push Queues. Bir L4 endpoint belirle ve Queue::mashal() methodunu kullan. Client tarafına dönmesi gereken verileri realtime olarak döndürmen lazım. Queue işini, örneğin bir kullanıcının bilgilerini veritabanına kaydederken kullanmalısın.
Evet, listener durumunda olacak client tarafı.
Veritabanı performansı önemli değil çünkü veritabanı işi yapmayacaksın. Örneğin, her istekte kullanıcının bilgilerini tekrar veritabanından çekmek gibi aşırı saçmalıklar yapmıyorsan, queue + MySQL kolayca milyonlarca hiti kaldırır.
İstiyorum değil, mecbursun! Scalability problemim var demiştin. Verileri daima Redis hafızasında tut. Zaten Redis kullanmıyorsan, ya her istekte veritabanı işlemi yaptırıyorsun (ki patlaman doğal), ya da filestore üzerinde cache tutuyorsun (yine patlaman doğal)
Kombinasyonu yapmışsın işte? Laravel backend çok kasıntı olabilir, daha performanslı bir framework kullanabilirsin. Bunun üzerine biraz da frontend optimizasyon (localStorage, gereksiz request atılmaması gibi) ile oyununu geliştirebilirsin.
Hem PHP, hem de Javascript singlethreaded zaten. Javascript asenkron olmak için tarayıcı web apilerini kullanılıyor (task queue, vb.) Ne gibi saçma buglar aldın? |
Equloent desteği olan hangi frame worku onerirsiniz ? back /front end kavramını anlamadim biraz acarmisiniz ? 2 veri tabanının senkronize çalışmamasindan dolayı sorun oluştu . amacım : oyun hakkında vt den bilgi isteklerinin sıralı değil asenkron yapılması . Yani istekleri %90i veri alma olacak . Bunların çok hızlı yapılmasını istiyorum . Verileri oyuncu browseri javasc ile alacak |
Eloquent standalone çalışabilen bir komponent. Şu makaleyi okuyabilirsinizhttp://www.edzynda.com/use-laravels-eloquent-orm-outside-of-laravel/ Backend arkayüz, Laravel ve React'ı çalıştırdığın yer. Frontend önyüz, Javascript/HTML5 kullandığın yer. 2 veritabanını niye kullanıyorsunuz? Veritabanından çekeceğiniz bilgileri, Redis üzerinde tutun. (veya native olarak React'in hafızasında tutabilirsiniz) Reactte zaten blocking bir işlem olmamalı?
Açıkcası sorununuzun ne olduğunu halen anlamış değilim. Javascriptin istediği verileri, React üzerinden (ki burada blocking bir işlem olmayacak) respond edeceksin. Aslında, eğer yazmadıysanız pratik olması açısından React ile bir chat uygulaması yazın. O zaman kafanızda şekillenir ve Redis kullanımına girersiniz performans için. |
Makale güzel miş, acaba diğer parçalarda (blade,route) bu şekilde kulllanılabilir mi? ![]() Backend Frontend i anladım hocam. Bi nevi server tarafı, browser tarafı. 2 veritabanı kullanma sebebim; performanstı. Biri phpde oluşturduğum fc_ram (shmod kullanan) RAM tabanlı veritabanı (redis/memcache) ile aynı işi görmekte, diğeride MySQLdi. Veri okuma hızını arttırmaya çalıştım. Reacht üzerinde baya araştırma yaptım mantıklı geliyor. Sorunum; Max Performs (memcache sistemler, ve tıkanmalar olmaması), Tutarlılık, non/blocking veri döndürme(browsera) ve bunları devasa bir projede işler karışmadan yapmak. Framework olarak ; Phalcon u buldum C ile yazılmış eklenti olarak. Yii filanda var Yardımınız için çok teşekkürler. |
Güzelmiş, bende PHP öğrenirken file tabanlı bir veritabanı yapmıştım, ancak Redis basit bir KV storage değil. İleride Redis'i de scale etmen gerekebilir. Senin geliştirdiğin sınıfta replication özelliği var mı? Yok. Partitioning var mı? Yok. Bunun gibi şeyler ileride çok önemli olabiliyor. Illuminate komponentlerinin hepsi standalone çalışabiliyor diye biliyorum, ancak kendim denemedim bu yüzden yalan bilgi vermiş olmayayım. Eğer ilk kez böyle bir oyun geliştirmeyi düşünüyorsan bırak karışsın. Geliştirirken bir taraftan öğreneceksin. Daha ortada fol yok yumurta yokken "devasa proje" yi düşünmene gerek yok. Başla geliştirmeye, takıldığın yerleri refactor edersin. |
Phalcon Framework , Redis , Reacht , MySQL kombinasyonu yapmayı düşünüyorum artık hocam. Phalcon , MVC sistemleri laravel ile benzer. Performansı sorarsanız 3e katlıyor laraveli. Önceki projelerimden bayağı bir tecrübe kazanmıştım saf Phpde bilgi düzeyim eklentiler hariç %90a yakındı.Fakat sonra (Tanıdıklar tavsiye etti) Laravele ilgim oluştu, (ilk frameworkum) laravel ilede ufak tefek projeler geliştirdim fakat laravel bilgi düzeyim %40 civarında. MVC çok hoşuma gitti. Performansından ilk başlardan beri şüphem vardı. Performans hep önem veririm projelerimde. Phalcona geçince çok sevdiğim BLADE sistemini bırakmak zorunda kalacağım. |
usta şu bölümde yorumu okunacak nadir insanlardansın eline koluna sağlık ![]() |
hocamız web developing in dünyaca üstadlarındandır :http://www.anilunal.com/skills Başarılarınızın devamını dilerim @TSF Aristona |
Phalcon, 0 konfigürasyonla kesinlikle Laravel'den hızlı, çünkü C extensionu halinde geliştirildi. Ancak, düzgün konfigürasyon ile aradaki fark büyük ölçüde kapanıyor. 3 kat hızlı olabilir, ancak bu demek değildir ki Laravel 10M hit kaldırırken Phalcon 30M hit kalsırsın. İleride o durum eşitleniyor yardımcı araçlar aracılığıyla. (Redis, Varnish, hhvm, opcache vs) Şöyle düşün, Phalcon 0'dan 100'e 3 saniyede çıkıyor. Laravel 9 saniyede çıkıyor, ancak gitmeleri gereken yol 500KM. Bu yüzden uzun vadede bir önemi kalmıyor framework performansının. Bu arada, benmi yanlış anlıyorum seni? HTML5 oyun geliştirmek istemiyormuydun? Blade ile bir işin olmuyorki?
Teşekkür ederim.
Hayır, değilim. Seviyesine gelemeyeceğim birçok yazılımcı var. Onların yanında bir hiçim. |
etme tutma hocam :) şu githubda yayınladığın makale hala aklımdan cıkmıyor:) bu arada hala kendini yetersiz görmen takdire şayan :) Türkiyede bulunan kaliteli programcılardan birisiniz emin olabilirsiniz buna. Kariyer yolunda başarılar dilerim size |
Hocam Phalcon öğrenmeye başladım; kesinlikle sizinde Phalcona geçmenizi tavsiye ederim. Bir çok sistem Laravelle aynı.(Neredeyse aynı sintaks ve aynı dosya/klasörler) Redis, Varnish, hhvm, opcache türevi araçları var.(Yani dahada hızlandırabilirsiniz) Composer veya pharla uğraşmak gerekmiyor. Hocam uzun vadede bir önemi kalmıyor olabilir. Ama her oyuncu işlem yaptığında o yol uzuyor. 500KMden 600e çıkıyor. Yani Hız önemli. Blade dediğim {{ }} @section @if @else sistemi hocam. Laraveldeki BLADEin Phalconda karşılığı VOLT. Neredeyse aynı sistem. fark uzantıda .blade.php ile .volt . Javascript ile oyun geliştireceğim hocam. HTM5 bilmiyorum Teşekkürler. |
Teşekkür ederim, size de! :)
Belki ileride öğrenebilirim, ancak şuan Laravel ile mutluyum. Şuana kadar performansı konusunda bir sıkıntı yaşamadık ancak ileride sorun yaşarsak ve bunun Laravel performansından kaynaklandığı kanısına varırsak, o zaman düşünebiliriz Phalcon'u. |
bence fazla ince düşünmüşsün. zira birçok proje başlangıçta olabilecek en basit kodlarla piyasaya çıkar. performans konusunda kaygın olmasın zira günde binlerce kişinin girdiği siteleri basit hostinglerde barındırabiliyoruz artık. işin içine ne kadar bilinmeyen katarsan yazılımın o kadar çok risk taşır. başlangıçta basit olması en önemli konudur. arkasında başarı olmadıkça proje fazla ilerleyemez. başarıların gelmeye başlaması için öyle böyle çalışan bir kodun olması gerekiyor. kullanıcı kısımda ise web tabanlı gerçek zamanlı bir oyun için soket bağlantısı şart. bunu eskiden flash ile yapıyorlardı (haxball gibi) şimdi html5'e websocket diye birşey çıkarmışlar fakat denemişliğim yok. sunucu tarafında ise zaten socket bağlantısı yapacağın için soketi okuyan yazılımı c++ yada c# gibi native bir dil ile yazman gerekiyor. bu kısım nispeden daha kolay olacaktır zira geleneksel fps tarzı oyunların çalışma mantığı zaten bu. öte yandan websocket'den haberim yoktu denemelik bir örnek yapasım geldi doğrusu meraklardayım |
Önceki PHP oyunlarımı baz alırsam, basit bir sunucu belli bir yere kadar barındırabiliyor. Fakat 20-30 oyuncudan sonra gecikme/lag'lar oyuncuyu soğutacak cinste oluyor. Yapmacağım oyunun rakipleri çok, onun için ayrıntılara önem vermem gerekiyor. Tek başıma olacağım için , oyun sistemi tamamıyla değiştiremem. Onun için kullancağım sistemleri önceden kararlaştırmam lazım. Bilinmeyen şeyler biraz fazla, fakat onları kolay birşekilde öğrenecek kapasitem var. Çünkü fikir/algoritma/mantık hazır, sadece onları koda dökebilmem gerekecek. soket olarak Server tarafında Ratchet/NodeJS gibi kullanabileceğim sistem var. Javascript tarafındada websoket kullanacağım. C++ , c# uygulamaları , hosting de sorun. Virtual server gibi fazla masrafa girmek istemiyorum. Ayrıca bunları kullanmam, çok fazla zaman alıcak. Fikirleriniz için Teşekkürler, projenin ilk sürümü basit olacak, başarı olduktan sonra daha ilerilere gitmeyi düşünüyorum. ![]() |
sanal sunucu ve yerleşik bir dil kullanmadan başarabilirsen şahsen alkışlarım. fakat pek mümkün görünmüyor. php sürekli bağlantı için geliştirilmediği için bence vakit kaybı olacaktır. şu an Özkula olarak bizim sattığımız en düşük sanal sunucuya 2 tane counter strike sunucu kurabiliyorsun. senin projen başta çok daha az sistem kaynağı tüketecektir. ayrıca multi threading gibi nimetlerden de faydalanabilirsin sunucu üzerinde kodlarsan. maliyet açısından bakıyorsan aslında maliyeti yok. kendi bilgisayarına virtual box + centos kurup sanal sunucu mantığı ile çalışabilirsin. projen son kullanıcıya hazır hale geldiğinde ücretli herkese açık bir sanal sunucuya taşırsın. tercih senin ama bence dünyayı tekrar keşfetmeye gerek yok. c++ ile soket bağlantısına sayısız örnek var zaten. ziyaretçi tarafında da html5 veya flash ile çözebiliyorsun örnekleri var. bilindik yollardan gidersen projen çok daha kısa sürede hayata geçer. |
Tavsiyeleriniz için çok teşekkür ederim. Seçtiğim kombinasyon ile daha hızlı geliştirip, oynanan halini daha erkek görebilirim. Eğer yaptığım hesaplar ilerde performansa daha gereksinim gerektirirse, Sunucu tarafında, C++ / Soket:80 +8080 / MySQL kombinasyonuna geçebilirim. PHPci olduğum için kendimi son noktaya kadar geliştirmek istiyorum. İlerde C++ ile sunucu projelerimde var. |
1. sayfa
Onun için yoğun birşekilde Javascript / Ajax / Websoket kullanıcam.
Laravel Frameworku üzerinde geliştiyorum. Verilerin değişiceği işlemleri, phpde sıralı şekilde yaptıracağım.
Fakat veri almaya dayalı işlemleri asenkron halde yaptırmak istiyorum. Bu konuda Rachtı buldum. Websoketleri üzerinde sayfa js ile arka planda veri alacak.
MySQL kesin kullanacağım fakat MongoDB bilgimide kullanarak daha yüksek performan istiyorum.
Cache/Redis gibi ramda çalışan sistemlerlede performsı arttırmak istiyorum.
Fakat nasıl bir kombinasyon yapmalıyım, neleri kullanmak gerek seçemedim.
Bir önceki php oyunumda asenkron(tek thread) olmasına rağmen, RAM ve MySQL performans için beraber kullandım , sonuç hüsran oldu. (Hiç beklemdiğim saçma buglar oluştu)
Edit : Phalcon(PHP FW) + Reacht/NodeJS + JavascriptWEBsocket + Redis/Memcache + MySQL kombinasyonuna karar verdim.
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
< Bu mesaj bu kişi tarafından değiştirildi Perceptron -- 15 Ağustos 2014; 22:36:23 >
< Bu ileti m.bolumsonucanavari.com kullanılarak atıldı >