2. Agenda
• Cluster
– Overview
– Descoberta de Servidor
– Grupo de Broadcast
– Grupo de Discovery
– Configuração do Cluster
– Credenciais
3. 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.
4. 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.
5. 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.
6. Cluster
• Grupo de Broadcast
– É a maneira a qual o servidor utiliza para espalhar
suas configurações na rede.
7. 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.
8. 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).
9. 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 connectorspairs. 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.
10. 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.
12. 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 .
14. 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.
15. 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.
16. 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.