Kuyruk için mesajları biçimlendirmek için en iyi yolu nedir?

2 Cevap php

Ben son zamanlarda kuyruk mesajı okuyordum ve benim app için basit, uzatılabilir, sistemi uygulamak istiyorum. Orada bir MQ sistemi kurma konusunda iyi bilgi bir sürü var iken, ben fiili uygulama hakkında çok şey bulamıyorum.

Ben desen ve en iyi uygulamaların düzgün bir sıra için iletileri biçimlendirmek için nasıl ve PHP işleri yürütmek için yollar arıyorum. Ben JSON, tefrika nesneleri, metin, URL'ler veya XML kullanmalı mıyım? Ne bilgi göndermek gerekir? (Veya böyle bir şey) bir switch($job['command']) {} ile bir işçi gitmek için yol, ya da bir işçi uygulamak için orada kurulan herhangi desenler vardır mı?

Büyük takdir Yardım!

2 Cevap

Siz PHP aşağıdaki MQ uygulamalarının herhangi seçebilirsiniz, böylece kendi rulo zorunda değilsiniz ve bunların uygulanması hakkında bilgi edinmek için kaynak kodu bakabilirsiniz. Genel entegrasyon için, ActiveMQ page on Enterprise Integration patterns bakabilirsiniz.

  • http://sourceforge.net/projects/beanstalk/

    Beanstalkd için bir PHP İstemci Kitaplığı. Beanstalk PHP geliştiricileri bellek workqueue sunucusu beanstalkd (http://xph.us/software/beanstalkd) yararlanmak için izin verir.

  • http://kr.github.com/beanstalkd/

    Beanstalk basit, hızlı workqueue hizmettir. Onun arayüzü geneldir, ama aslında uyumsuz zaman alıcı görevler çalıştırarak yüksek hacimli web uygulamaları sayfa görünümleri gecikmeyi azaltmak için tasarlanmıştır.

  • http://activemq.apache.org/

    Apache ActiveMQ en popüler ve güçlü bir açık kaynak mesajlaşma ve Entegrasyon Modelleri sağlayıcısıdır. Apache ActiveMQ hızlı, birçok Cross Dil Müşteriler ve Protokolleri destekler, tamamen JMS 1.1 destekleyen ve J2EE 1.4 iken Kurumsal Entegrasyon Desenleri ve birçok gelişmiş özellikleri kullanmak için kolay gelir. Apache ActiveMQ Apache 2.0 lisansı altında yayınlandı

  • http://memcachedb.org/memcacheq/

    Memcachedb kalıcı için tasarlanmış bir dağıtık anahtar-değer depolama sistemidir. Bu bir önbellek çözümü, ancak yüksek frekanslı okuma ve yazma için kalıcı bir depolama değildir. Bu (aşağıya bakınız tamamlanmış değil) memcache protokole uyan, bu yüzden herhangi bir memcached istemci onunla bağlantısı olabilir. Işlem ve çoğaltma gibi özellikleri çok desteklenir böylece Memcachedb, bir depolama arka uç olarak Berkeley DB kullanır.

  • http://www.zend.com/en/products/server/

    Zend Server 5.0, yürütülmesi ve uygulama performansını optimize etmek ve sunucu yükünü azaltmak için işleri yönetmek, uygulama darboğazları en aza indirmek ve son kullanıcı deneyimini artırmak için tam destek sağlayarak, İş Kuyruğu içeriyor.

  • https://www.dropr.org/

    dropr PHP ile yazılmış bir dağıtılmış ileti kuyruğu çerçevedir. Ana hedefleri şunlardır:

    • ağlar üzerinden güvenilir ve dayanıklı (emniyetli) mesajlaşma
    • Bir tek (başarısızlık noktası) sunucu örneği olmadan dağıtılmış mimari
    • Kurulumu ve kullanımı kolay
    • sıra depolama ve mesaj için modülerlik (şu anda dosya sistemi depolama ve kıvrılma yükleme uygulanır) nakil
  • http://gearman.org/

    Gearman iyi işi yapmak için uygun diğer makina veya işlemlere çalışmalarını çiftliğine genel bir uygulama çerçeve sağlar. Bu denge işleme yüklemek için, paralel işi yapmak için, ve diller arasındaki işlevleri çağırmak için izin verir.

  • http://www.zeromq.org/

    (Ayrıca ZeroMQ, 0MQ veya ZMQ yazıldığından) ØMQ ölçeklenebilir dağıtık ya da eş zamanlı uygulamalarda kullanım amaçlı yüksek performanslı asenkron mesajlaşma kütüphanedir. Bu bir ileti kuyruğu sağlar, ancak mesaj odaklı katman aksine, bir ØMQ sistem özel bir mesajı komisyoncu olmadan çalıştırabilirsiniz. Kütüphane tanıdık bir soket tarzı API sahip olacak şekilde tasarlanmıştır.

Eğer JSON kullanmak - okunması kolay, kısa, ve çapraz dil çalışır.

Eğer arka plan "iş" değil, sadece veri (json iyi olacak bu durumda), ancak bir tefrika nesne eklemek istiyorsanız eğer JSON kullanmak mümkün olmayabilir bir nedeni budur. Bu durumda ise, işin argümanları tefrika PHP en az birini yapmak gerekir.