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-messagesdirectory> 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

HornetQ - 13.Alta Disponibilidade e Failover

  • 1.
  • 2.
    Agenda • Alta Disponibilidadee Failover – Overview – Modos de Alta Disponibilidade – Configuração – Replicação de Dados – Configuração – Armazenamento Compartilhado
  • 3.
    Alta Disponibilidade eFailover • 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.
  • 4.
    Alta Disponibilidade eFailover • 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.
  • 5.
    Alta Disponibilidade eFailover • 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.
  • 6.
    Alta Disponibilidade eFailover • 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.
  • 7.
    Alta Disponibilidade eFailover • 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.
  • 8.
    Alta Disponibilidade eFailover • Modos de Alta Disponibilidade – Replicação de Dados Pipelines de replicação e respostas são assíncronos, permitindo uma melhor performance.
  • 9.
    Alta Disponibilidade eFailover • 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.
  • 10.
    Alta Disponibilidade eFailover • 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.
  • 11.
    Alta Disponibilidade eFailover • 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.
  • 12.
    Alta Disponibilidade eFailover • 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.
  • 13.
    Alta Disponibilidade eFailover • Configuração – Replicação de Dados – Configuração do servidor Live – Configuração do servidor de Backup
  • 14.
    Alta Disponibilidade eFailover • 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-messagesdirectory> devem ser configurando para o mesmo local.
  • 15.
    Alta Disponibilidade eFailover • Configuração – Armazenamento Compartilhado – Configuração do servidor Live – Configuração do servidor de Backup