Re: Værktøjer som virker med Perl

[email protected] (Niels Jakob Darger) Sun, 11 Dec 2011 18:05:01 +0100
Newsgroups perl.copenhagen
Message-ID <[email protected]>
Distribueret processering: Beanstalkd, ah, ja - den kiggede jeg på 
tidligere og TheSchwartz. Det endte dog med at vi valgte Gearman. Det 
virkede (og virker) fint.

Messaging: Stomp, ah okay. Det må jeg kigge på. 
ZeroMQ/zmq/0mq/ømq/RabbitMQ / REST: Tak - REST er simpelt og vil virke 
glimrende i den aktuelle brugssituation, det ender det muligvis med.

Og Redis vil jeg også kigge mere på.

Mange tak for de inputs!

Hilsen
Jakob


On 2011-12-11 13:13, michael! wrote:
> Hej -
> jeg kan anbefale RabbitMQ m. fx Net::RabbitMQ.
> Simpelt og effektivt i brug.
>
> vh
> Michael.
>
> 2011/12/11 Niels Jakob Darger<[email protected]>:
>> Hej,
>>
>> Jeg er på et projekt hos en større broadcaster. Projektet involverer
>> real-tidsanalyse af data, det er specielt kritisk under "broadcast events",
>> f.eks. VM 2010, OL 2012 eller ikke-programsatte (nyheds)begivenheder. Nok om
>> det.
>>
>> Spørgsmålet er hvilke værktøjer man kunne benytte til de generelle problemer
>> der skal tackles - distribueret processering, distribueret
>> låsning/synkronisering, distribueret lagring, messaging etc., etc.?
>>
>> Vi har et heterogent miljø med Perl og Java. Der er mange kølige teknologier
>> i Java: Hadoop (som jeg har vældig gode erfaringer med, både i Java og Perl
>> - via "Streaming mode"), Lucene (vældig køligt), ActiveMQ, Cassandra etc.,
>> men det er nu tit hurtigere - og sjovere - at udvikle i Perl.
>>
>> Hvad er godt til de forskellige klasser af problemer:
>>
>> Messaging: ActiveMQ (eller WebSphere MQ) virker fint med Java, men hvad med
>> Perl? Har folk erfaringer med at snakke Thrift - eller med andre
>> messaging-teknologier?
>>
>> Kommunikation: ICE (http://www.zeroc.com/) - er mange ting - det virker fint
>> med C++ (og sikkert med Java, har ikke prøvet), men ikke med Perl. Gode
>> alternativer? XML-RPC og SOAP virker, meeen, det er snart 2012 og desuden er
>> serialisering og deserialisering af XML ikke det mest effektive.
>>
>> Distribueret processering: Hadoop fungerer naturligvis bedst med Java men
>> det virker med C++ (Pipes) og fungerer fortrinligt med Perl (Streaming).
>> Storm (https://github.com/nathanmarz/storm) kender jeg endnu ikke - der skal
>> kigges på det snarest. Storm *kunne* være en kandidat til at blive inddraget
>> i ovenstående projekt men deadlines og (potentielt manglende) modenhed i
>> Storm trækker i den anden retning.
>>
>> Distribueret lagring/caching: Memcached virker fint med Perl.
>> Protokolkompatible - Membase, MemcacheDB etc. - må antages også at virke.
>> HDFS virker vist med Perl via Thrift, jeg har dog ikke prøvet - vi bruger
>> (de Java-baserede) Hadoop/HDFS kommandoer med Perl hvilket naturligvis ikke
>> er super-effektivt da det medfører fork/exec, men det virker.
>>
>> Redis skulle virke. Har nogen erfaringer?
>>
>> CouchDB virker. Jeg har dog ikke produktionserfaringer med det da en anden
>> teknologi blev valgt efter at vi havde lavet en prototype i CouchDB (det var
>> nu ikke et decideret fravalg af CouchCB). MongoDB eller andet?
>>
>> Distributed låsning: Jeg skal have kigget på Zookeeper. Jeg skal i det hele
>> taget se få kigget på de andre teknologier i Hadoop-sfæren: HBase, Hive,
>> Pig, Mahout etc. Disse værktøjer er (måske med undtagelse af Zookeeper) ikke
>> specielt realtidsvenlige men er interessante i andre sammenhænge.
>>
>> Swig (http://www.swig.org/) er aldeles brugbart og rimeligt let
>> tilgængeligt. Muligvis lettere end XS som jag aldrig rigtigt har kigget på.
>> Swig er nyttig til implementering af koderegioner hvor der bare kræves rå
>> hastighed.
>>
>> Der er andre klasser af problemer - hvilke teknologier har folk (gode)
>> erfaringer med, helst med Perl, alternativt med C++ eller Java (man kan jo
>> som regel med hiv og skub få interfacet det med Perl)?
>>
>> Hilsen
>> Jakob