Post on 29-Jun-2015
Treinamento HornetQ
Agenda
• Alta Disponibilidade e Failover– Overview– Modos de Alta Disponibilidade– Configuração – Replicação de Dados– Configuração – Armazenamento Compartilhado
Alta Disponibilidade e Failover
• Overview– Alta disponibilidade é a capacidade de um sistema
continuar funcionando depois da falha de um ou mais servidores.
– Failover é uma característica da alta disponibilidade que pode ser definida como a capacidade dos clientes migrarem de um servidor para o outro depois de um evento de falha e continuarem funcionando.
– O HornetQ suporta alta disponibilidade com o mecanismo de Live – Backup Pair.
– É possível configura um servidor de Backup por servidor Live.
Alta Disponibilidade e Failover
• Overview– No modelo Live Backup – Pair o servidor de backup
torna-se ativo quando o cliente falha na comunicação com o servidor principal, ativando assim, o servidor de backup.
Alta Disponibilidade e Failover
• Modos de Alta Disponibilidade– O HornetQ fornece dois modelos de alta
disponibilidade, são eles:• Replicação de Dados• Armazenamento Compartilhado
Apenas mensagens persistentes sobreviverão a falhas.
Alta Disponibilidade e Failover
• Modos de Alta Disponibilidade– Replicação de Dados• Os journals são replicados de um servidor para o outro.• Apenas os journals e outras operações persistentes
serão replicadas.• A replicação acontece de forma assíncrona entre o
servidor live o backup.• Do lado do cliente, quando ele é informado que uma
transação foi confirmada ou desfeita, é garantido que a mensagens alcançou o servidor de backup.
Alta Disponibilidade e Failover
• Modos de Alta Disponibilidade– Replicação de Dados• Um ponto negativo desse modelo é o overhead
causado pelas operações de replicação.• Em contrapartida esse modelo é mais rápido que o
Shared Store, uma vez que os journals não precisam ser carregados quando um evento de falha ocorrer.
Alta Disponibilidade e Failover
• Modos de Alta Disponibilidade– Replicação de Dados
Pipelines de replicação e respostas são assíncronos,
permitindo uma melhor performance.
Alta Disponibilidade e Failover
• Modos de Alta Disponibilidade– Armazenamento Compartilhado• Nesse modelo os servidores Live e Backup
compartilham os mesmo diretórios de dados.
• Quando uma falha ocorre o servidor de backup assume, carregando os dados do diretório compartilhado.• É necessário que haja um diretório comum acessível
tanto pelo servidor Live quanto pelo de Backup.
Alta Disponibilidade e Failover
• Modos de Alta Disponibilidade– Armazenamento Compartilhado
• É aconselhável o uso de um mecanismo de armazenamento de alta performance.
• Os desenvolvedores do produto não recomendam o uso do NAS – Network Attached Storage e nem do NFS por serem lentos.
• Uma grande vantagem desse modelo é que não existe penalidade na performance por não haver necessidade de replicação de dados.
• A desvantagem é que o servidor ao ser ativado necessita carregar os dados compartilhados, podendo sofrer lentidão dependendo do volume dos journals.
Alta Disponibilidade e Failover
• Modos de Alta Disponibilidade– Armazenamento Compartilhado
É necessário utilizar um mecanismo de
compartilhamento de alta performance para que não haja
penalidade nas operações.
Alta Disponibilidade e Failover
• Configuração – Replicação de Dados– Configuração do servidor Live
• No arquivo hornet-configuration.xml criar um novo <connector> associando-o ao servidor de backup.
• No arquivo hornet-configuration.xml criar e associar um elemento <backup-connector-ref> ao <connector> criado no passo anterior.
– Configuração do servidor de Backup• No arquivo hornetq-configuration.xml criar um novo
<acceptor>.• No arquivo hornetq-configuration.xml configurar os
elementos <backup> para true e <shared-store> para false.
Alta Disponibilidade e Failover
• Configuração – Replicação de Dados– Configuração do servidor Live
– Configuração do servidor de Backup
Alta Disponibilidade e Failover
• Configuração – Armazenamento Compartilhado– Configuração do servidor Live
• No arquivo hornet-configuration.xml criar e configurar o elemento <shared-store> para true.
– Configuração do servidor de Backup• No arquivo hornetq-configuration.xml criar e configurar o
elemento <backup> para true.
Os elementos <paging-directory>, <bindings-directory>, <journal-directory> e <large-messages-directory> devem ser configurando para o mesmo local.
Alta Disponibilidade e Failover
• Configuração – Armazenamento Compartilhado– Configuração do servidor Live
– Configuração do servidor de Backup