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: [email protected]
L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
=end disclaimer