Re: Værktøjer som virker med Perl

[email protected] ("michael!") Sun, 11 Dec 2011 13:13:58 +0100
Newsgroups perl.copenhagen
Message-ID <CAGSE=gDRX64+NJWR+mz1kxT9UMNEZvbj98RAYuYpgkMmw7tvWA@mail.gmail.com>
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