2010-09-22 26 views
9

Verilerle çok iş yapan ve Cassandra'yı bir veri deposu olarak kullanan bir uygulamaya PHP ön ucu çalıştırıyorum. PHP bana hesaplamaların bazıları için ihtiyaç performansı (yanı sıra bellekte olması gerekir bilgilerin büyüklüğü için yönetim) vermeyecektir biliyorum AncakBir web uygulamasında arka uç hesaplamaları için C++ kullanma

ben yazmak istiyorum

C++ 'da desteklenmiş şeyler ve PHP uygulamasından erişebilirsiniz. İkisini birleştirmenin en iyi yolunu bulmaya çalışıyorum.

ben baktım bazı seçenekler:

  • Google'ın Protokol Tamponlar
  • gSOAP
  • Apache Axis
  • (Zaten Cassandra için kullanıyorum çünkü doğal seçim)

    1. Thrift

    Yukarıdakiler sadece baktığım şeyler, kendimi sınırlamıyorum.

    PHP uygulamasına aktarılan veriler çok küçüktür, bu nedenle akışa gerek yoktur. Sadece hesaplama sonuçları aktarılır.

    Siz ne düşünüyorsunuz?

    +0

    +1. Cevapları dört gözle bekliyorum (btw, lirk gSoap) – Mawg

    +0

    Teşekkürler, gSOAP hakkında ne seviyorsunuz? –

    cevap

    1

    Hesaplamalarınızın ne kadar veriye ihtiyaç duyacağı hakkında daha fazla ayrıntı yararlı olacaktır. Tasarruf makul bir seçim gibi görünüyor. PHP, hesaplama düğümü ve Cassandra arka ucu arasında kullanabilirsiniz. Sonucu küçükse, PHP ile hesaplama düğümü arasındaki RPC aktarımınız çok fazla fark yaratmaz.

    2

    Kendinizi C++ uygulamasına ayrı bir uygulama olarak mı sınırlıyorsunuz? PHP ile doğrudan arayüz oluşturmayı düşündünüz mü? (yani PHP uygulamanıza bir C++ eklentisi bağlayın).

    İkinci yaklaşımın mutlaka ilki olandan daha iyi olduğunu söylemiyorum ama yine de bunu dikkate almalısın, çünkü bu farklı birtakım seçenekler sunuyor. Örneğin, PHP ve C++ arasında geçiş yapma gecikmesi, ikisi de aynı uygulama dinamik olarak bağlı olduklarında olduğundan farklı uygulama olduğunda kesinlikle daha yüksek olacaktır.

    +0

    Bunu SWIG ile eklemeyi düşündüm, ancak bence C++ uygulamamdan Cassandra'nın verilerini veriden alıp hesaplamayı ve PHP'nin sonucunu sorgulamamın daha mantıklı olduğunu düşünüyorum. –

    +0

    @Stephen: sonuçta sizin seçiminiz budur, sadece bunun da geçerli bir yol olduğunu vurgulamak istedim –

    3

    Eğer ben olsaydım, başka bir RPC çerçevesinde çekilmekten hiç bir anlam ifade etmezdim. Sahip olduklarınızla gidin ve zaten bilin. Thrift bu kadar kolay (google protokol arabellekleri yapar, ama gerçekten iki farklı mekanizmaya ihtiyacınız yoktur) iyi bir soru için

    İlgili konular