ActiveMQ com persistência em um banco de dados

4

Algum de vocês está executando o ActiveMQ com persistência em um banco de dados? Melhor ainda, em um banco de dados Oracle?

Estamos querendo substituir nossos atuais usos do JMQ pelo ActiveMQ. O plano é ter duas máquinas (uma quente, um failover) que compartilhem uma fila do ActiveMQ, para que o failover possa continuar de onde a máquina quente parou. Nos testes com persistência baseada em arquivo, isso funciona muito bem. No entanto, dar a ambas as máquinas acesso a algum espaço de arquivo rápido é complicado, e onde quer que isso aconteça, torna-se um ponto de falha. Persistir em nosso banco de dados Oracle parece ser o caminho ideal, mas é dolorosamente lento nos testes. Outras coisas usando o cluster da Oracle estão indo bem.

Alguém está fazendo isso com desempenho aceitável? Em caso afirmativo, houve algum truque para ajustá-lo? "Funcionou" para você? Se qualquer um desses, você se importaria de compartilhar alguns trechos de configuração ou algo assim? Mesmo se você não estiver usando o Oracle, tenho certeza de que posso traduzir a configuração conforme necessário.

Editar : Realmente? Essa é a única pergunta do ActiveMQ sobre SF?

Editar 2 : estou falando de uma das duas primeiras configurações em esta página . Especificamente, o último ("Persistência do JDBC sem registro no diário"), mas a experiência com o primeiro seria ótima.

    
por Bill Weiss 26.10.2009 / 22:20

1 resposta

2

Pelo que me lembro, você precisa desativar o recurso de registro no diário para executar a persistência do banco de dados, o que prejudica o desempenho.

Eu acho que você vai ter que ficar com um sistema mestre / escravo, mas não precisa ter um sistema de arquivos compartilhado que cause um problema para você - o master / slave puro suportado pelo ActiveMQ é uma abordagem nada compartilhada, embora tenha suas próprias limitações.

    
por 30.10.2009 / 14:41