Bilgilerin uyumsuz işlem için en uygun dil

0 Cevap asynchronous

Meselenin kalbine delving önce, ilk olarak ben mevcut senaryo anahat olacaktır. Şu anda bazı verileri işlemek için CLI aracılığıyla yürütür bir php komut dosyası var. Böyle bir şey gider:

  • Kullanıcı web sitesi aracılığıyla bazı verileri gönderir ve bir veritabanında saklanır
  • A php script executing through CLI cycles through all of the data in the database every 5 minutes or so. It reads the information submitted by the user in the database, processes it, then creates multiple other entires in other databases. Often it might have to post something through http using file_get_contents.
    • Ben her zaman kullanıcı lojistik nedenlerle bunu gönderdiğinde bilgi işleme sadece olamaz (bu non-pazarlık)

Bunun için kodu aşağıdaki gibi bir şey olacaktır:

$q = mysql_query("SELECT username, infoA, infoB FROM data");

while($r = mysql_fetch_array($q))
{

 some_function($r['username'], $r['infoA']);
 another_function($r['infoB']);

}

Tüm bilgileri gerçek işlem oluştuğu fonksiyonları "some_function" ve "another_function" dir. İşte sorun: Genellikle, döngüsüne girdileri bir sürü aracılığıyla vardır ve ilk giriş işlenir zaman ve sonuncusu arasında bir gecikme çok büyük var. Ben ilk ve son girişi arasında minimum gecikme ile işlenmiş tüm verileri gerekir. Fonksiyonlar kendilerini iyi optimize edilmiş ve bu sorun değil yani oldukça hızlı çalıştırılır. Gelecekteki işlev çağrıları önceki fonksiyon çağrıları verileri referans gerekmez beri, ben uyumsuz idam edilmesi fonksiyonlarını gerektiğini düşünüyorum. Bu şekilde, işlem yapılacak ilk giriş beklemeden sonraki girişe komut kutu döngüsü.

Ben oluşturulan php cli komut test amaçlıdır öncelikle. Bu ön test için iyi çalışır, ancak başlatmak kez veri miktarı oldukça büyük olacaktır. Bu gibi bir görevi taşıma için ideal bir dili nedir. Ben kesinlikle fonksiyonlar uyumsuz idam edilmesi gerekir. Aynı anda çok sayıda uyumsuz çağrı varsa Ancak, bu sistem aşırı olabilir veya bilgi doğru işleme alınmayacaktır. Dolayısıyla, bu işlemek için etkili bir yolu olmalı. Ben hala php bunu yapabilirsiniz, ya da başka bir şey için ve neden hareket etmelidir?

Şartlar, (ben sonuç beklemek gerekmez) GET veri ile http isteklerini yapmak mysql kullanmak mümkün olacak, ve memcached ki vardır.

Gerçekçi konuşmak gerekirse, ben bu konuda çalışmak için programcılar kiralamak olacaktır. Yani, ben gerçekten programcılar bakmak gerektiğini tam olarak ne beceri setleri belirlemek için mümkün olduğunca fazla bilgi için arıyorum.

Ayrıca, daha hızlı bir sunucu almak tavsiye etmeyiniz. Ben bu yazılım sonuna optimize odaklanmış duyuyorum. Geliştirilmiş bir yazılım yaklaşımı için gerekli olan fiziksel bir sunucuya gelişmeler göz önüne alınabilir. Ancak, ben sadece yazılım verimsizlik telafi etmek için donanım altyapısı para pompalama önlemek için çalışıyorum.

0 Cevap