Hi. Se o retorno será devolvido ao usuário, seria válido pensar na utilização do nodejs. Para o queue system, daria pra usar o kue[1]. Ou mesmo implementar o node-stomp[2] que já integra com ActiveMQ e RabbitMQ... A aplicação em comet ficaria bem interessante. Isto se esta comunicação com o cliente for mesmo necessária.
[1] https://github.com/learnboost/kue [2] https://github.com/kates/node-stomp []'s Em 14 de março de 2012 08:27, Renato Santos <renato.c...@gmail.com>escreveu: > Também tem a arquitetura q o ebay apresentou: > http://highscalability.com/blog/2008/5/27/ebay-architecture.html > Em 14/03/2012 08:16, "Marcio Ferreira" <marciodesouzaferre...@gmail.com> > escreveu: > > Só dando um pitaco, ao contrário do mongoDB, experimente o ElasticSearch >> - performance incrível. E se atente na forma de como será feita a consulta >> na API das redes, as vezes consultar uma vez ao dia já resolva seu >> problema, e evite os horários de pico prq rodar seu scraper =S >> On Mar 14, 2012 8:03 AM, "Tiago Peczenyj" <tiago.pecze...@gmail.com> >> wrote: >> >>> Oi >>> >>> é possivel criar uma fila usando um feed rss ou criando arquivos em um >>> diretorio. basta ver o que é mais interessante para o teu projeto. Por >>> exemplo, se vc publicar um feed e tiver do outro lado um consumidor >>> fazendo pooling vai ser tão bom quanto um ActiveMQ se vc não estiver >>> com um volume muito grande de dados E se puder esperar uns segundos. >>> Isso pode simplificar a tua infra num primeiro momento. >>> >>> On Tue, Mar 13, 2012 at 11:33 PM, Daniel de Oliveira Mantovani >>> <daniel.oliveira.mantov...@gmail.com> wrote: >>> > Shonorio, o Gearman não é um sistema de fila, ele funciona como um >>> > distribuid system. >>> > >>> > Você deva usar o AMPQ[1] ou o Apache ActiveMQ[2] para criar a fila e o >>> > Gearman para processar a informação. O Worker não sabe da existência >>> > do Client, quem faz esse intermédio é o Gearman Server[3]. >>> > >>> > "A Gearman powered application consists of three parts: a client, a >>> > worker, and a job server. The client is responsible for creating a job >>> > to be run and sending it to a job server. The job server will find a >>> > suitable worker that can run the job and forwards the job on. The >>> > worker performs the work requested by the client and sends a response >>> > to the client through the job server. Gearman provides client and >>> > worker APIs that your applications call to talk with the Gearman job >>> > server (also known as gearmand) so you don't need to deal with >>> > networking or mapping of jobs. Internally, the gearman client and >>> > worker APIs communicate with the job server using TCP sockets. To >>> > explain how Gearman works in more detail, lets look at a simple >>> > application that will reverse the order of characters in a string. " >>> > >>> > [User Interface] <===>[RDBMS]<===> [Queue System] >>> > /\ >>> > || >>> > || >>> > [Distribuid >>> > System] <===> [Document-oriented database] >>> > >>> > >>> > Se baseando nesse arquitetura o Queue System vai mandando "jobs" de >>> > acordo com número de workers que você tem disponível, evitando um >>> > overhead e criando um sistema "auto scalability". >>> > >>> > Se eu fosse você eu me preocuparia com a forma de armazenamento dos >>> > dados, as redes sociais já garantem a integridade dos dados, sendo >>> > assim uma solução Document-oriented database te pouparia muito >>> > processamento e trabalho. Existem várias opções, eu recomendo o >>> > MongoDB[4] mesmo com o Eden Cardim me crucificando por isso. >>> > >>> > Guarde os dados dos usuários e do site num RDBMS, se você estiver >>> > pensando num RDBMS open source eu te recomendo o PostgreSQL, ele tem >>> > um ótimo suporte ao paradigma temporal. >>> > Se você usar o PostgreSQL, eu te recomendo usar o Pgpool[5] para >>> > replication, clustering, load balance etc. >>> > >>> > [1] - http://www.amqp.org/about/what >>> > [2] - http://activemq.apache.org/ >>> > [3] - http://gearman.org/ >>> > [4] - http://www.mongodb.org/display/DOCS/Sharding+Introduction >>> > [5] - http://www.pgpool.net/mediawiki/index.php/Main_Page >>> > >>> > Grande Abraço. >>> > >>> > 2012/3/13 Solli Honorio <shono...@gmail.com>: >>> >> Pessoal, >>> >> >>> >> Estou iniciando um projeto de monitoramento de mídias sociais e fazer >>> algum >>> >> processamento com estas informações, e acredito que utilizar esquemas >>> de >>> >> fila serviria muito bem para este ambiente. >>> >> >>> >> Basicamente o esquema que estou imaginando para o ambiente é : >>> >> >>> >> [ Interface com o usuário ] <===> [Banco de Dados] <====> [Sistema de >>> Fila] >>> >> >>> >> || || >>> >> >>> >> || +- [Executa a pesquisa] >>> >> >>> >> || >>> >> >>> >> +-- [ Processa o resultado da pesquisa] >>> >> >>> >> As ações que eu imagino nisto são : >>> >> >>> >> * interface com o usuário não é meu problema, tem um webdeveloper >>> >> trabalhando nisto; >>> >> * não quero de maneira alguma fazer os 'agentes' interagir >>> diretamente com o >>> >> banco de dados, por isto penso em criar um cliente que leia o banco >>> de dados >>> >> e coloque os dados formatados para o agente na fila do agente. O >>> caminho >>> >> contrário também, ler o resultado do agente e gravar no banco de >>> dados; >>> >> >>> >> Estou avaliando a possibilidade de utilizar o Gearman (na verdade não >>> tenho >>> >> certeza se esta é a melhor alternativa mesmo), na verdade o >>> >> AnyEvent::Gearman. Mas algumas coisas me chamaram no Gearman do qual >>> eu >>> >> acho meio estranho para o ambiente sistema de fila que eu tenho na >>> minha >>> >> cabeça. >>> >> >>> >> 1. o worker (aparentemente o cara que executará o serviço) não fica >>> em loop >>> >> lendo uma fila, parece que ele está sendo acionado pelo cliente; >>> >> 2. o parece que o cliente fica 'preso' aguardando o final da execução >>> do >>> >> worker. >>> >> >>> >> Ainda não tenho código (que o meu cliente não leia isto, pois estou >>> muito >>> >> atrasado), mas eu gostaria de obter recomendações de vocês sobre a >>> >> arquitetura que estou imaginando. >>> >> >>> >> Obrigado, >>> >> >>> >> Solli Honorio >>> >> >>> >> >>> >> -- >>> >> "o animal satisfeito dorme". - Guimarães Rosa >>> >> >>> >> =begin disclaimer >>> >> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ >>> >> SaoPaulo-pm mailing list: SaoPaulo-pm@pm.org >>> >> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> >>> >> =end disclaimer >>> >> >>> > >>> > >>> > >>> > -- >>> > "If you’ve never written anything thoughtful, then you’ve never had >>> > any difficult, important, or interesting thoughts. That’s the secret: >>> > people who don’t write, are people who don’t think." >>> > =begin disclaimer >>> > Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ >>> > SaoPaulo-pm mailing list: SaoPaulo-pm@pm.org >>> > L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> >>> > =end disclaimer >>> >>> >>> >>> -- >>> Tiago B. Peczenyj >>> Linux User #405772 >>> >>> http://pacman.blog.br >>> =begin disclaimer >>> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ >>> SaoPaulo-pm mailing list: SaoPaulo-pm@pm.org >>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> >>> =end disclaimer >>> >> >> =begin disclaimer >> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ >> SaoPaulo-pm mailing list: SaoPaulo-pm@pm.org >> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> >> =end disclaimer >> >> > =begin disclaimer > Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ > SaoPaulo-pm mailing list: SaoPaulo-pm@pm.org > L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> > =end disclaimer > > -- Junior Moraes (fvox) Perl Developer http://www.unsecurity.com.br/ <http://www.twitter.com/juniiormoraes> <http://pt-br.facebook.com/juniiormoraes> <http://plus.google.com/104958988925423385684> <http://www.lastfm.com.br/user/juniior182> <http://www.delicious.com/fvox> <http://github.com/fvox>
=begin disclaimer Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ SaoPaulo-pm mailing list: SaoPaulo-pm@pm.org L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> =end disclaimer