Upload
waelson-negreiros
View
495
Download
1
Embed Size (px)
DESCRIPTION
Citation preview
Treinamento HornetQ
Agenda
• Cluster– Overview– Descoberta de Servidor– Grupo de Broadcast– Grupo de Discovery– Configuração do Cluster– Credenciais
Cluster
• Overview– O HornetQ permite grupos de servidores para
suportar a carga de mensagens.– Cada nó que compõem o cluster é servidor ativo que
gerencia suas próprias mensagens e conexões.– Quando um nó torna-se parte de um cluster,
internamente é criado um Core Brindge, a comunicação entre os nós é feita de forma transparente.
Cluster
• Descoberta de Servidor– É o mecanismo na qual o servidor distribui suas
configurações de conexão através da rede.– Principais objetivos:• Descoberta por clientes de mensagens
– Os clientes precisam se conectar a um servidor no cluster sem ter que conhecer sua localização exata.
• Descoberta por outros servidores– Servidores em um cluster precisam ser capazes de criar
conexões com outros servidores sem saber sua localização exata.
Cluster
• Descoberta de Servidor– O HornetQ utiliza o protocolo UDP para espalhar suas
configurações sobre a rede.
É necessário que o UDP esteja habilitado na rede para utilizar esse recurso. Do contrário é necessário especificar manualmente cada nó participante.
Cluster
• Grupo de Broadcast– É a maneira a qual o servidor utiliza para espalhar
suas configurações na rede.
Cluster
• Grupo de Broadcast– Parâmetros.
• name – Nome do grupo e deve ser único• local-bind-address – Se o servidor possuir múltiplas interfaces
de rede, uma delas deve ser especificada aqui.• local-bind-address - Deve ser especifica junto com o
parametro anterior. Ela define a porta em que os datagramas do socket serão recebidos.
• group-address – Endereço de multicast para onde os dados serão disparados. Consiste de um endereço IP de classe D no range de 224.0.0.0 a 239.255.255.255. O endereço 224.0.0.0 é reservado.
• group-port – Porta UDP utilizada para broadcast. Parâmetro obrigatório.
Cluster
• Grupo de Broadcast– Parâmetros (continuação)
• broadcast-period – Tempo em milissegundos para disparo das informações na rede.
• connector-ref – Especifica o connector um backup connector que será difundido (espalhado na rede).
Cluster
• Grupo de Discovery– O grupo de broadcast define como as informações dos
connectors serão espalhados pela rede, já o grupo de Discovery define como as informações dos connectors serão recebidas de um endereço de multicast.
– O grupo de Discovery mantem um lista connectors-pairs. Como ele recebe broadcast de um endereço multicast de um servidor em particular ele atualiza sua lista de servidores.
– Ao não receber broadcast de um servidor em particular por um determinado período ele será removido da lista.
Cluster
• Grupo de Discovery– Os grupos de Discovery são utilizados em dois locais
no HornetQ.• Conexões ao Cluster
– O HornetQ precisa saber quais servidores no cluster ele deve fazer conexões.
• Clientes de Mensagens–Os cliente precisam saber quais servidores no
cluster ele pode conectar-se.
Cluster
• Grupo de Discovery– Conexões ao Cluster
Cluster
• Grupo de Discovery– Conexões ao Cluster• Parâmetros
– name – Nome do grupo e deve ser único– local-bind-address – Se o servidor possuir múltiplas
interfaces de rede, uma delas deve ser especificada aqui.– group-address – Endereço de multicast para onde o
grupo está ouvindo.– group-port – Porta UDP utilizada para broadcast. Deve
coincidir com o definido no grupo de Broadcast.– refresh-timeout – Tempo de espera de broadcast de um
servidor especifico antes de removê-lo da lista .
Cluster
• Grupo de Discovery– Clientes de Mensagem
Cluster
• Grupo de Discovery– Clientes de Mensagem• Parâmetros
– discovery-group-ref – Especifica o nome do grupo de discovery definido no arquivo hornetq-configuration.xml.
Cliente JNDI fazem download das informações de conexão.
Cluster
• Configuração do Cluster– Com os grupos de servidores conversando entre se
através de multicast, agora é necessário definir o cluster entre os nós.
Cluster
• Configuração do Cluster– Outros parâmetros• <clustered> - Se true indica que o servidor está em
cluster.• <cluster-user> - Usuário para acesso ao cluster.• <cluster-password> - Senha para acesso ao cluster.