HornetQ - 13.Alta Disponibilidade e Failover

15
Treinamento HornetQ

Transcript of HornetQ - 13.Alta Disponibilidade e Failover

Page 1: HornetQ - 13.Alta Disponibilidade e Failover

Treinamento HornetQ

Page 2: HornetQ - 13.Alta Disponibilidade e Failover

Agenda

• Alta Disponibilidade e Failover– Overview– Modos de Alta Disponibilidade– Configuração – Replicação de Dados– Configuração – Armazenamento Compartilhado

Page 3: HornetQ - 13.Alta Disponibilidade e Failover

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.

Page 4: HornetQ - 13.Alta Disponibilidade e Failover

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.

Page 5: HornetQ - 13.Alta Disponibilidade e Failover

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.

Page 6: HornetQ - 13.Alta Disponibilidade e Failover

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.

Page 7: HornetQ - 13.Alta Disponibilidade e Failover

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.

Page 8: HornetQ - 13.Alta Disponibilidade e Failover

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.

Page 9: HornetQ - 13.Alta Disponibilidade e Failover

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.

Page 10: HornetQ - 13.Alta Disponibilidade e Failover

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.

Page 11: HornetQ - 13.Alta Disponibilidade e Failover

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.

Page 12: HornetQ - 13.Alta Disponibilidade e Failover

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.

Page 13: HornetQ - 13.Alta Disponibilidade e Failover

Alta Disponibilidade e Failover

• Configuração – Replicação de Dados– Configuração do servidor Live

– Configuração do servidor de Backup

Page 14: HornetQ - 13.Alta Disponibilidade e Failover

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.

Page 15: HornetQ - 13.Alta Disponibilidade e Failover

Alta Disponibilidade e Failover

• Configuração – Armazenamento Compartilhado– Configuração do servidor Live

– Configuração do servidor de Backup