Atualmente eu tenho um sistema que realiza conversão de arquivos. Eu recebo vários tipos de documentos, utilizo o JOD Converter pela linha de comando e converto para PDF. Depois disso, utilizo o PDF2SWF e converto para Flash (isso tudo no mesmo servidor por questão de economia). Tudo em PHP.
Hoje, precisamos melhorar nossa forma de conversão para que esta se torne escalável. A idéia é, primeiramente, separarmos o servidor de conversão do servidor web.
Como funciona a hoje em dia?
Quando um usuário solicita uma conversão, salvamos essa tarefa no banco de dados. Através de um CRON, um script verifica a tarefa mais antiga, executa e remove do banco.
O que estou pensando em fazer?
Colocar mais um servidor conectado em rede localmente. O servidor WEB continuaria adicionando tarefas nesse spool e um aplicativo Java ficaria verificando se tem alguma tarefa a ser executada. Caso tenha, ele copia [?] esse arquivo do servidor WEB, converte e devolve ao servidor, removendo a tarefa do banco. Em caso de erro, esse aplicativo atualizaria esse banco de dados.
O que vocês acham? Como vocês fariam essa comunicação? Ficar verificando se existe uma tarefa não é muito eficiente, logo, pensei em socket, seria a melhor solução?
Desde já agradeço.
Abraços,
Marcos
Edição feita por: Marcos Aurélio, 06/07/2010, 09:51.