SlideShare uma empresa Scribd logo
1 de 20
Treinamento HornetQ
Agenda
• Persistência
– Mecanismo de Persistência
– Implementações de Journals
– Asynchronous I/O
– Tipos de Journal
– Instalado LibAIO
Persistência
• Mecanismo de Persistência
– Não utiliza banco de dados.
– Possui mecanismo de persistência próprio baseado em
arquivo.
– Utiliza técnica de Journal para persistência.
Persistência
• Mecanismo de Persitência
– Conceito de Journal
• É o processo de armazenar eventos em um log antes
que cada um possa ser aplicado no sistema. Esses logs
são chamados de journals.
• São utilizados por exemplo em SGBDs e Sistemas de
Arquivo.
Persistência
• Mecanismo de Persitência
– HornetQ Journal
• Conjunto de arquivos pré-criados e de tamanho prédefinido, onde o HornetQ realiza appends.
• Quando o journal atinge seu limite o HornetQ Journal
move para o próximo.
• Operações suportadas:
– Inclusão de mensagens
– Remoção de mensagens
– Alteração de mensagens
Persistência
• Mecanismo de Persitência
– HornetQ Journal

Mensagem 1
Mensagem 2
Mensagem 3
Mensagem 4
Mensagem 5

Journal de 10Mb
Persistência
• Mecanismo de Persitência
– HornetQ Journal
• Possue poderoso recurso para tratamento dos Journals.
– Remoção de espaços não utilizados
– Compactação de dados

• Suporta operações transacionais
– Local Transactions
– XA Transactions
Persistência
• Implementações de Journals
– Suporta nativamente dois tipos de implementações, são
elas:
• Java NIO
–
–
–
–

Faz a interface com o sistema de arquivo
Extremamente rápida
Roda em qualquer plataforma
Precisa do Java 6 ou superior

• Linux Asynchronous IO
– Específica para ambientes Linux
– Interage diretamente com o Kernel
– Precisa do Kernel 2.6 ou superior
Persistência
• Asynchronous I/O
– Seu objetivo é um permitir que um processo execute
várias operações de escrita/leitura sem ter que bloquear
ou aguarda que um outro seja concluído.
– Possue patches para versão 2.4 do kernel.
– Funciona apenas nos seguintes sistemas de arquivo:
•
•
•
•
•

ext2
ext3
ext4
jfx
xfs
Persistência
• Asynchronous I/O (non-blocking)
1 - O pedido de leitura retorna imediatamente, indicando que a leitura foi
iniciada com êxito.
2 - O aplicativo executa outro processamento.
3 – Quando a resposta de leitura chegar um sinal é enviado.
Persistência
• Tipos de Journals
– Existem três tipos, são eles:
• Bindings Journal
• JMS Journal
• Message Journal
Persistência
• Tipos de Journals
– Bindings Journal
• Incluem configurações de filas que são publicadas no servidor
juntamente com seus atributos.
• Sempre utiliza o Java NIO por ter um throughput muito baixo.
• São pré-fixados com hornetq-bindings
• Possuem extensão bindings
• Possuem tamanho de 1Mb
• Está localizado na pasta $HORNETQ_HOME/data/bindings
Persistência
• Tipos de Journals
– JMS Journal
• Armazenam dados relacionados à JMS:
–
–
–
–

Queues
Topics
Connection Factories
Informações de binding JNDI

• Todo recursos criados vias API de gerenciamento (JMX) serão
persistido nesse journal.
•
•
•
•

São pré-fixados com hornetq-jms
Possuem extensão jms
Possuem tamanho de 1Mb
Está localizado na pasta $HORNETQ_HOME/data/bindings
Persistência
• Tipos de Journals
– Message Journal
• Armazena efetivamente todos os dados relacionados a mensagem

• Se o ambiente for Linux e o AIO estiver instalado ele tenta
utilizá-lo, do contrário utiliza Java NIO.
•
•
•
•

São pré-fixados com hornetq-data
Possuem extensão hq
Possuem tamanho de 10Mb
Está localizado na pasta $HORNETQ_HOME/data/journal
Persistência
• Tipos de Journals
– Configurando o Bindings e JMS Journals
• As configurações ficam no arquivo hornetq-configuration.xml

Diretório dos Binding e
JMS Journals
Persistência
• Tipos de Journals
– Configurando o Message Journal
• As configurações ficam no arquivo hornetq-configuration.xml

Quantidade inicial de
Journals

Diretório dos Message
Journal
Persistência
• Tipos de Journals
– Outros parâmetros de configuração importante
• journal-type
– Permite configurar a implementação do journal. Opções: NIO e
ASYNCIO

• journal-max-io
– Total de requisições de escrita que serão enfileiradas antes de serem
submetidas ao SO.
– Usando NIO, deve ser sempre 1
– Usando AIO, por default é 500
– O limite máximo do SO é 65536 (/proc/sys/fs/aio-max-nr)
Persistência
• Tipos de Journals
– Outros parâmetros de configuração importante
• Inserindo novos parametros
Persistência
• Instalando LibAIO
– Pré-Requisitos
•
•
•
•
•
•
•
•

Kernel 2.6 ou superior
Java 6 ou superior
gcc - C Compiler
gcc-c++
autoconf
make
Autoconf
libtool

• libaio
• libaio-dev
Persistência
• Instalando LibAIO
# uname –r

//Verifica a versão do kernel

# find / -name java //Localiza o diretório de instalação do JDK
# export JAVA_HOME=<jdk_path>
# sudo yum install libaio libaio-devel

//Configura a variável de ambiente do JDK
//Instala biblioteca e pacote de desenvolvimento do LibAIO

# sudo yum groupinstall ‘Development Tools’

//Instala as ferramentas necessárias para compilação

# ./HORNETQ_HOME/native-src/bootstrap

//Inicia o processo de compilação

# ls /HORNETQ_HOME/native-src/src/.libs

//Se existir o arquivo libHornetQAIO.so funcionou

# mv /HORNETQ_HOME/native-src/src/.libs / libHornetQAIO.so /HORNETQ_HOME/bin/
libHornetQAIO.so //Deve-se colocar a lib (link simbólico) no classpath

Mais conteúdo relacionado

Mais procurados

Gerência de Memória: Memória Principal
Gerência de Memória: Memória PrincipalGerência de Memória: Memória Principal
Gerência de Memória: Memória PrincipalAlexandre Duarte
 
Apostila 5 processos e threads
Apostila 5   processos e threadsApostila 5   processos e threads
Apostila 5 processos e threadsPaulo Fonseca
 
Gerências de Processos: Threads
Gerências de Processos: ThreadsGerências de Processos: Threads
Gerências de Processos: ThreadsAlexandre Duarte
 
Gerência de Armazenamento: Sistemas de Armazenamento em Massa
Gerência de Armazenamento: Sistemas de Armazenamento em MassaGerência de Armazenamento: Sistemas de Armazenamento em Massa
Gerência de Armazenamento: Sistemas de Armazenamento em MassaAlexandre Duarte
 
Gerências de Processos: Escalonamento de CPU
Gerências de Processos: Escalonamento de CPUGerências de Processos: Escalonamento de CPU
Gerências de Processos: Escalonamento de CPUAlexandre Duarte
 
Ciclo de instrucao
Ciclo de instrucaoCiclo de instrucao
Ciclo de instrucaoredesinforma
 
Visão Geral: Introdução
Visão Geral: IntroduçãoVisão Geral: Introdução
Visão Geral: IntroduçãoAlexandre Duarte
 
Funcionamento kernel
Funcionamento kernelFuncionamento kernel
Funcionamento kernelSENAC RIO
 
Sistemas Operacionais - Aula 5 - Concorrência
Sistemas Operacionais - Aula 5 - ConcorrênciaSistemas Operacionais - Aula 5 - Concorrência
Sistemas Operacionais - Aula 5 - ConcorrênciaCharles Fortes
 
Módulo 12 linux
Módulo 12   linuxMódulo 12   linux
Módulo 12 linuxEder Dias
 
Resumo de S.O.
Resumo de S.O.Resumo de S.O.
Resumo de S.O.dannas_06
 
Sistemas de ficheiros
Sistemas de ficheirosSistemas de ficheiros
Sistemas de ficheirosKaska Lucas
 
Sismologia USP: Infra Estutura Computacional para Pesquisa
Sismologia USP: Infra Estutura Computacional para PesquisaSismologia USP: Infra Estutura Computacional para Pesquisa
Sismologia USP: Infra Estutura Computacional para PesquisaCentro de Sismologia - USP
 

Mais procurados (19)

Sistemas operacionais 02
Sistemas operacionais   02Sistemas operacionais   02
Sistemas operacionais 02
 
Gerência de Memória: Memória Principal
Gerência de Memória: Memória PrincipalGerência de Memória: Memória Principal
Gerência de Memória: Memória Principal
 
Apostila 5 processos e threads
Apostila 5   processos e threadsApostila 5   processos e threads
Apostila 5 processos e threads
 
Gerências de Processos: Threads
Gerências de Processos: ThreadsGerências de Processos: Threads
Gerências de Processos: Threads
 
Lynxos RTOS
Lynxos RTOSLynxos RTOS
Lynxos RTOS
 
Gerência de Armazenamento: Sistemas de Armazenamento em Massa
Gerência de Armazenamento: Sistemas de Armazenamento em MassaGerência de Armazenamento: Sistemas de Armazenamento em Massa
Gerência de Armazenamento: Sistemas de Armazenamento em Massa
 
Processos (Linux)
Processos (Linux)Processos (Linux)
Processos (Linux)
 
Coroner's toolkit
Coroner's toolkitCoroner's toolkit
Coroner's toolkit
 
4 cpu
4 cpu4 cpu
4 cpu
 
Gerências de Processos: Escalonamento de CPU
Gerências de Processos: Escalonamento de CPUGerências de Processos: Escalonamento de CPU
Gerências de Processos: Escalonamento de CPU
 
Ciclo de instrucao
Ciclo de instrucaoCiclo de instrucao
Ciclo de instrucao
 
Visão Geral: Introdução
Visão Geral: IntroduçãoVisão Geral: Introdução
Visão Geral: Introdução
 
Funcionamento kernel
Funcionamento kernelFuncionamento kernel
Funcionamento kernel
 
Sistemas Operacionais - Aula 5 - Concorrência
Sistemas Operacionais - Aula 5 - ConcorrênciaSistemas Operacionais - Aula 5 - Concorrência
Sistemas Operacionais - Aula 5 - Concorrência
 
Módulo 12 linux
Módulo 12   linuxMódulo 12   linux
Módulo 12 linux
 
Resumo de S.O.
Resumo de S.O.Resumo de S.O.
Resumo de S.O.
 
Soa#cap4.1 gestor de pacotes
Soa#cap4.1   gestor de pacotesSoa#cap4.1   gestor de pacotes
Soa#cap4.1 gestor de pacotes
 
Sistemas de ficheiros
Sistemas de ficheirosSistemas de ficheiros
Sistemas de ficheiros
 
Sismologia USP: Infra Estutura Computacional para Pesquisa
Sismologia USP: Infra Estutura Computacional para PesquisaSismologia USP: Infra Estutura Computacional para Pesquisa
Sismologia USP: Infra Estutura Computacional para Pesquisa
 

Destaque (16)

HornetQ - 11.Mensagens Expiradas
HornetQ - 11.Mensagens ExpiradasHornetQ - 11.Mensagens Expiradas
HornetQ - 11.Mensagens Expiradas
 
HornetQ - 10.Reentrega de Mensagens e DLQ
HornetQ - 10.Reentrega de Mensagens e DLQHornetQ - 10.Reentrega de Mensagens e DLQ
HornetQ - 10.Reentrega de Mensagens e DLQ
 
HornetQ - 12.Paginação
HornetQ - 12.PaginaçãoHornetQ - 12.Paginação
HornetQ - 12.Paginação
 
Ajax e Design de Interação (versão longa)
Ajax e Design de Interação (versão longa)Ajax e Design de Interação (versão longa)
Ajax e Design de Interação (versão longa)
 
HornetQ - 16.Divert e Splitting de Mensagem
HornetQ - 16.Divert e Splitting de MensagemHornetQ - 16.Divert e Splitting de Mensagem
HornetQ - 16.Divert e Splitting de Mensagem
 
HornetQ - 14.Cluster
HornetQ - 14.ClusterHornetQ - 14.Cluster
HornetQ - 14.Cluster
 
HornetQ - 9.Mecanismo de Log
HornetQ - 9.Mecanismo de LogHornetQ - 9.Mecanismo de Log
HornetQ - 9.Mecanismo de Log
 
HornetQ - 6.Integração com JBoss 5
HornetQ - 6.Integração com JBoss 5HornetQ - 6.Integração com JBoss 5
HornetQ - 6.Integração com JBoss 5
 
HornetQ - 15.Bridge
HornetQ - 15.BridgeHornetQ - 15.Bridge
HornetQ - 15.Bridge
 
HornetQ - 5.Transports
HornetQ - 5.TransportsHornetQ - 5.Transports
HornetQ - 5.Transports
 
HornetQ - 8.Segurança
HornetQ - 8.SegurançaHornetQ - 8.Segurança
HornetQ - 8.Segurança
 
HornetQ - 2.1.HornetQ no Modo Standalone
HornetQ - 2.1.HornetQ no Modo StandaloneHornetQ - 2.1.HornetQ no Modo Standalone
HornetQ - 2.1.HornetQ no Modo Standalone
 
HornetQ - 2.Arquitetura do HornetQ
HornetQ - 2.Arquitetura do HornetQHornetQ - 2.Arquitetura do HornetQ
HornetQ - 2.Arquitetura do HornetQ
 
Integração de Sistemas e JMS Assíncrono
Integração de Sistemas e JMS AssíncronoIntegração de Sistemas e JMS Assíncrono
Integração de Sistemas e JMS Assíncrono
 
Hornet - 1.Conceitos de Mensageria
Hornet - 1.Conceitos de MensageriaHornet - 1.Conceitos de Mensageria
Hornet - 1.Conceitos de Mensageria
 
Novas APIs do Java EE 7: JMS e Web Services
Novas APIs do Java EE 7: JMS e Web ServicesNovas APIs do Java EE 7: JMS e Web Services
Novas APIs do Java EE 7: JMS e Web Services
 

Semelhante a Treinamento HornetQ persistência

Sistemas de arquivos cap 04 (iii unidade)
Sistemas de arquivos cap 04 (iii unidade)Sistemas de arquivos cap 04 (iii unidade)
Sistemas de arquivos cap 04 (iii unidade)Faculdade Mater Christi
 
Fso parte iii
Fso parte iiiFso parte iii
Fso parte iiipaulocsm
 
Aula 04 informática aplicada - comando básicos
Aula 04  informática aplicada - comando básicosAula 04  informática aplicada - comando básicos
Aula 04 informática aplicada - comando básicosRobson Ferreira
 
Sistemas de arquivos feito em latex
Sistemas de arquivos feito em latexSistemas de arquivos feito em latex
Sistemas de arquivos feito em latexBruno Teixeira
 
Material sobre sistemas de arquivos do Windows,como é a organização e o supor...
Material sobre sistemas de arquivos do Windows,como é a organização e o supor...Material sobre sistemas de arquivos do Windows,como é a organização e o supor...
Material sobre sistemas de arquivos do Windows,como é a organização e o supor...Julio Oliveira
 
Apostila 8 sistema de arquivos
Apostila 8   sistema de arquivosApostila 8   sistema de arquivos
Apostila 8 sistema de arquivosPaulo Fonseca
 
Linux - Sobre a Disciplina + Introdução ao Linux
Linux - Sobre a Disciplina + Introdução ao LinuxLinux - Sobre a Disciplina + Introdução ao Linux
Linux - Sobre a Disciplina + Introdução ao LinuxFrederico Madeira
 
Sistemas operacionais sistemas de arquivos-atualizado-senai
Sistemas operacionais   sistemas de arquivos-atualizado-senaiSistemas operacionais   sistemas de arquivos-atualizado-senai
Sistemas operacionais sistemas de arquivos-atualizado-senaiCarlos Melo
 
2 organização do sistema operativo - sistemas operativos
2   organização do sistema operativo - sistemas operativos2   organização do sistema operativo - sistemas operativos
2 organização do sistema operativo - sistemas operativosMaria194536
 
2010 02 26 Sistemas Operacionais Aula1
2010 02 26 Sistemas Operacionais Aula12010 02 26 Sistemas Operacionais Aula1
2010 02 26 Sistemas Operacionais Aula1Universal.org.mx
 
PostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoPostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoelliando dias
 
12/03/2010 - Sistemas Operacionais Aula3
12/03/2010 - Sistemas Operacionais Aula312/03/2010 - Sistemas Operacionais Aula3
12/03/2010 - Sistemas Operacionais Aula3Universal.org.mx
 

Semelhante a Treinamento HornetQ persistência (20)

Sistemas de arquivos cap 04 (iii unidade)
Sistemas de arquivos cap 04 (iii unidade)Sistemas de arquivos cap 04 (iii unidade)
Sistemas de arquivos cap 04 (iii unidade)
 
Fso parte iii
Fso parte iiiFso parte iii
Fso parte iii
 
Kernel do Linux
Kernel do LinuxKernel do Linux
Kernel do Linux
 
Sd01 (si) sistemas de arquivos
Sd01 (si)   sistemas de arquivosSd01 (si)   sistemas de arquivos
Sd01 (si) sistemas de arquivos
 
Aula 04 informática aplicada - comando básicos
Aula 04  informática aplicada - comando básicosAula 04  informática aplicada - comando básicos
Aula 04 informática aplicada - comando básicos
 
Sistemas de arquivos feito em latex
Sistemas de arquivos feito em latexSistemas de arquivos feito em latex
Sistemas de arquivos feito em latex
 
Processos e threads cap 02 (i unidade)
Processos e threads   cap 02 (i unidade)Processos e threads   cap 02 (i unidade)
Processos e threads cap 02 (i unidade)
 
Sistemas de arquivos
Sistemas de arquivosSistemas de arquivos
Sistemas de arquivos
 
Material sobre sistemas de arquivos do Windows,como é a organização e o supor...
Material sobre sistemas de arquivos do Windows,como é a organização e o supor...Material sobre sistemas de arquivos do Windows,como é a organização e o supor...
Material sobre sistemas de arquivos do Windows,como é a organização e o supor...
 
Google File System
Google File SystemGoogle File System
Google File System
 
Apostila 8 sistema de arquivos
Apostila 8   sistema de arquivosApostila 8   sistema de arquivos
Apostila 8 sistema de arquivos
 
Linux - Sobre a Disciplina + Introdução ao Linux
Linux - Sobre a Disciplina + Introdução ao LinuxLinux - Sobre a Disciplina + Introdução ao Linux
Linux - Sobre a Disciplina + Introdução ao Linux
 
Aula 13 instalação de hardware
Aula 13 instalação de hardwareAula 13 instalação de hardware
Aula 13 instalação de hardware
 
Sistemas operacionais sistemas de arquivos-atualizado-senai
Sistemas operacionais   sistemas de arquivos-atualizado-senaiSistemas operacionais   sistemas de arquivos-atualizado-senai
Sistemas operacionais sistemas de arquivos-atualizado-senai
 
2 organização do sistema operativo - sistemas operativos
2   organização do sistema operativo - sistemas operativos2   organização do sistema operativo - sistemas operativos
2 organização do sistema operativo - sistemas operativos
 
2010 02 26 Sistemas Operacionais Aula1
2010 02 26 Sistemas Operacionais Aula12010 02 26 Sistemas Operacionais Aula1
2010 02 26 Sistemas Operacionais Aula1
 
Linux - Um estudo de caso
Linux - Um estudo de casoLinux - Um estudo de caso
Linux - Um estudo de caso
 
PostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoPostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardo
 
12/03/2010 - Sistemas Operacionais Aula3
12/03/2010 - Sistemas Operacionais Aula312/03/2010 - Sistemas Operacionais Aula3
12/03/2010 - Sistemas Operacionais Aula3
 
Estrutura de diretorios
Estrutura de diretoriosEstrutura de diretorios
Estrutura de diretorios
 

Mais de Waelson Negreiros Nunes (11)

Treinamento ajax ria - 01
Treinamento ajax   ria - 01Treinamento ajax   ria - 01
Treinamento ajax ria - 01
 
Treinamento ajax 05
Treinamento ajax   05Treinamento ajax   05
Treinamento ajax 05
 
Treinamento ajax 04
Treinamento ajax   04Treinamento ajax   04
Treinamento ajax 04
 
Treinamento ajax 03
Treinamento ajax   03Treinamento ajax   03
Treinamento ajax 03
 
Treinamento ajax 02
Treinamento ajax   02Treinamento ajax   02
Treinamento ajax 02
 
Treinamento ajax modulo javascript
Treinamento ajax   modulo javascriptTreinamento ajax   modulo javascript
Treinamento ajax modulo javascript
 
Desvendando o mundo iOS
Desvendando o mundo iOSDesvendando o mundo iOS
Desvendando o mundo iOS
 
HornetQ - 13.Alta Disponibilidade e Failover
HornetQ - 13.Alta Disponibilidade e FailoverHornetQ - 13.Alta Disponibilidade e Failover
HornetQ - 13.Alta Disponibilidade e Failover
 
Palestra FLISOL 2013 - Java + Arduino + Raspberry PI = Uma combinação perfeita
Palestra FLISOL 2013 - Java + Arduino + Raspberry PI = Uma combinação perfeitaPalestra FLISOL 2013 - Java + Arduino + Raspberry PI = Uma combinação perfeita
Palestra FLISOL 2013 - Java + Arduino + Raspberry PI = Uma combinação perfeita
 
Curso flex sicoob - aula 11
Curso flex   sicoob - aula 11Curso flex   sicoob - aula 11
Curso flex sicoob - aula 11
 
EJB 3.1
EJB 3.1EJB 3.1
EJB 3.1
 

Treinamento HornetQ persistência

  • 2. Agenda • Persistência – Mecanismo de Persistência – Implementações de Journals – Asynchronous I/O – Tipos de Journal – Instalado LibAIO
  • 3. Persistência • Mecanismo de Persistência – Não utiliza banco de dados. – Possui mecanismo de persistência próprio baseado em arquivo. – Utiliza técnica de Journal para persistência.
  • 4. Persistência • Mecanismo de Persitência – Conceito de Journal • É o processo de armazenar eventos em um log antes que cada um possa ser aplicado no sistema. Esses logs são chamados de journals. • São utilizados por exemplo em SGBDs e Sistemas de Arquivo.
  • 5. Persistência • Mecanismo de Persitência – HornetQ Journal • Conjunto de arquivos pré-criados e de tamanho prédefinido, onde o HornetQ realiza appends. • Quando o journal atinge seu limite o HornetQ Journal move para o próximo. • Operações suportadas: – Inclusão de mensagens – Remoção de mensagens – Alteração de mensagens
  • 6. Persistência • Mecanismo de Persitência – HornetQ Journal Mensagem 1 Mensagem 2 Mensagem 3 Mensagem 4 Mensagem 5 Journal de 10Mb
  • 7. Persistência • Mecanismo de Persitência – HornetQ Journal • Possue poderoso recurso para tratamento dos Journals. – Remoção de espaços não utilizados – Compactação de dados • Suporta operações transacionais – Local Transactions – XA Transactions
  • 8. Persistência • Implementações de Journals – Suporta nativamente dois tipos de implementações, são elas: • Java NIO – – – – Faz a interface com o sistema de arquivo Extremamente rápida Roda em qualquer plataforma Precisa do Java 6 ou superior • Linux Asynchronous IO – Específica para ambientes Linux – Interage diretamente com o Kernel – Precisa do Kernel 2.6 ou superior
  • 9. Persistência • Asynchronous I/O – Seu objetivo é um permitir que um processo execute várias operações de escrita/leitura sem ter que bloquear ou aguarda que um outro seja concluído. – Possue patches para versão 2.4 do kernel. – Funciona apenas nos seguintes sistemas de arquivo: • • • • • ext2 ext3 ext4 jfx xfs
  • 10. Persistência • Asynchronous I/O (non-blocking) 1 - O pedido de leitura retorna imediatamente, indicando que a leitura foi iniciada com êxito. 2 - O aplicativo executa outro processamento. 3 – Quando a resposta de leitura chegar um sinal é enviado.
  • 11. Persistência • Tipos de Journals – Existem três tipos, são eles: • Bindings Journal • JMS Journal • Message Journal
  • 12. Persistência • Tipos de Journals – Bindings Journal • Incluem configurações de filas que são publicadas no servidor juntamente com seus atributos. • Sempre utiliza o Java NIO por ter um throughput muito baixo. • São pré-fixados com hornetq-bindings • Possuem extensão bindings • Possuem tamanho de 1Mb • Está localizado na pasta $HORNETQ_HOME/data/bindings
  • 13. Persistência • Tipos de Journals – JMS Journal • Armazenam dados relacionados à JMS: – – – – Queues Topics Connection Factories Informações de binding JNDI • Todo recursos criados vias API de gerenciamento (JMX) serão persistido nesse journal. • • • • São pré-fixados com hornetq-jms Possuem extensão jms Possuem tamanho de 1Mb Está localizado na pasta $HORNETQ_HOME/data/bindings
  • 14. Persistência • Tipos de Journals – Message Journal • Armazena efetivamente todos os dados relacionados a mensagem • Se o ambiente for Linux e o AIO estiver instalado ele tenta utilizá-lo, do contrário utiliza Java NIO. • • • • São pré-fixados com hornetq-data Possuem extensão hq Possuem tamanho de 10Mb Está localizado na pasta $HORNETQ_HOME/data/journal
  • 15. Persistência • Tipos de Journals – Configurando o Bindings e JMS Journals • As configurações ficam no arquivo hornetq-configuration.xml Diretório dos Binding e JMS Journals
  • 16. Persistência • Tipos de Journals – Configurando o Message Journal • As configurações ficam no arquivo hornetq-configuration.xml Quantidade inicial de Journals Diretório dos Message Journal
  • 17. Persistência • Tipos de Journals – Outros parâmetros de configuração importante • journal-type – Permite configurar a implementação do journal. Opções: NIO e ASYNCIO • journal-max-io – Total de requisições de escrita que serão enfileiradas antes de serem submetidas ao SO. – Usando NIO, deve ser sempre 1 – Usando AIO, por default é 500 – O limite máximo do SO é 65536 (/proc/sys/fs/aio-max-nr)
  • 18. Persistência • Tipos de Journals – Outros parâmetros de configuração importante • Inserindo novos parametros
  • 19. Persistência • Instalando LibAIO – Pré-Requisitos • • • • • • • • Kernel 2.6 ou superior Java 6 ou superior gcc - C Compiler gcc-c++ autoconf make Autoconf libtool • libaio • libaio-dev
  • 20. Persistência • Instalando LibAIO # uname –r //Verifica a versão do kernel # find / -name java //Localiza o diretório de instalação do JDK # export JAVA_HOME=<jdk_path> # sudo yum install libaio libaio-devel //Configura a variável de ambiente do JDK //Instala biblioteca e pacote de desenvolvimento do LibAIO # sudo yum groupinstall ‘Development Tools’ //Instala as ferramentas necessárias para compilação # ./HORNETQ_HOME/native-src/bootstrap //Inicia o processo de compilação # ls /HORNETQ_HOME/native-src/src/.libs //Se existir o arquivo libHornetQAIO.so funcionou # mv /HORNETQ_HOME/native-src/src/.libs / libHornetQAIO.so /HORNETQ_HOME/bin/ libHornetQAIO.so //Deve-se colocar a lib (link simbólico) no classpath