Abaixo está o vídeo e o passo-a-passo detalhado.
Lembrando que como pré-requisito você precisa ter o JDK instalado na máquina (execute "java -version" para validar)
Vamos lá:
- Baixe o WildFly
- Descompacte o zip
- Entre em <Pasta do WildFly>/domain/configuration
- Abra o domain.xml e no final dele na dentro da tag <server-groups> adicione esse código:
<server-group name="cluster-group" profile="ha">
<jvm name="default">
<heap size="64m" max-size="512m"/>
</jvm>
<socket-binding-group ref="ha-sockets"/>
</server-group>
- Abra o host.xml e dentro da tag <servers> no server-two edite o auto-start="true" para auto-start="false"
- Ainda no host.xml e dentro da tag <servers> adicione esses servers:
<server name="cluste-one" group="cluster-group" auto-start="true"> <socket-bindings port-offset="200"/> </server> <server name="cluste-two" group="cluster-group" auto-start="true"> <socket-bindings port-offset="300"/> </server>
- Pelo terminal/cmd entre em: <Pasta do WildFly>/bin
- Se estiver no windows: Execute o add-user.bat
- Se estiver no linux/mac: Execute o add-user.sh
- Siga o passo-a-passo do add-user
1) aperte enter
2) digite wadmin
3) digite mortadela@1
4) digite mortadela@1
5) aperte enter
6) digite yes
7) digite no
8) aperte enter
- Se estiver no windows: Execute o domain.bat
- Se estiver no linux/mac: Execute o domain.sh
- Agora o ambiente está configurado, você subiu 3 JBoss na sua máquina. Teste pelo browser:
1) Master: http://localhost:8080
2) Slave1: http://localhost:8280
3) Slave2: http://localhost:8380
- Para testar se o cluster está funcionando:
1) Baixe o war: https://dl.dropboxusercontent.com/u/8155843/TDC%20Floripa%202015/cluster-example.war
2) Entre via browser no console admin do WildFly master: http://localhost:9990/
3) Digite usuário wadmin e a senha mortadela@1
4) Acesse o menu Deployments
5) Clique em Add
6) Selecione o cluster-example.war
7) Clique em Next
8) Clique em Save
9) Clique em Assign
10) Selecione cluster-group
11) Clique em Save
- Teste a aplicação
1) Acesse via browser http://localhost:8280/cluster
2) Veja uma contagem acontecendo, esse valor está num EJB Stateful
3) Na mesma aba/janela do browser acesse a URL: http://localhost:8380/cluster
4) A contagem deve continuar, ou seja, o cluster está funcionando pois mesmo acessando em outro JBoss a informação da sessão foi replicada.
É isso aí pessoal, qualquer dúvida é só fazer um post no JBUG Brasil
Abraço!
Adriano Schmidt
Ola Adriano, parabéns pelo post !
ResponderExcluirSe entendi, nesse caso, temos 3 wildfly's rodando e fazemos o deploy através do master e ela é replicada para os demais do cluster.
Mas, do ponto de vista do usuario, ele deve acessar um dos wildfly's, ou seja, no browser deve acessar http://localhost:8280/cluster ou http://localhost:8380/cluster.
Qual a solucao para que o usuario possa conhecer um unico endereco de acesso e as requisicoes sejam distribuidas entre os servers ?
[]s
Opa, para isso você teria que ter um HTTP Server na frente fazendo load balancer das requisições... assim o usuário sempre acessaria uma mesma URL (que seria o HTTP Server) e essa URL chamaria um dos WildFly.. nesse post explico isso: http://localhost8080.blogspot.com.br/2015/05/como-criar-um-load-balancer-e-cluster-com-wildfly8.html
ExcluirQualquer dúvida comenta lá, abraço!
Ótimo tutorial! Útil, simples, e funciona! Boa!
ResponderExcluirAdriano, no caso seu exemplo foi configurado mais de 1 instancia no mesmo servidor ? e se eu tiver mais de um server individual ?
ResponderExcluirAqui eu mostro como fazer isso: http://localhost8080.blogspot.com.br/2016/09/load-balancer-com-wildfly-10.html
ExcluirOnde consigo baixar seu war pra testar o cluster novamente. Achei muito interessante sua variavel pra testar a replicação da sessão.
ResponderExcluirSeu link ta OFF !!
https://dl.dropboxusercontent.com/u/8155843/TDC%20Floripa%202015/cluster-example.war
Se for dificil mandar o war, pode e encaminhar só código mesmo.
qual seu e-mail? manda um email pra mim adriano@localhost8080.com.br
ExcluirOla Adriano, parabéns pelo post!
ResponderExcluirEstou com uma dificuldade em replicar esse seu post com diferentes hosts. Quando eu tenho servidores wwildfly no mesmo host, como vc fez no post, funciona muito bem porem em hosts diferentes a session não é replicada. Sabe me dizer o pq?
opa... é diferente... tô na pressa aqui... mas eu tenho outros posts aqui no blog explicando como fazer isso..
Excluirhttp://localhost8080.blogspot.com.br/search/label/wildfly
Microsoft Windows [versão 10.0.18363.592]
ResponderExcluir(c) 2019 Microsoft Corporation. Todos os direitos reservados.
C:\WINDOWS\system32>cd
C:\Users\PC\Documents\Programas\SOFTBLUE.JAVA\Locademia\wildfly-18.0.1.Final\bin
C:\Users\PC\Documents\Programas\SOFTBLUE.JAVA\Locademia\wildfly-18.0.1.Final\bin>dir
add-user.bat
O volume na unidade C não tem nome.
O Número de Série do Volume é AC32-4C52
Pasta de C:\Users\PC\Documents\Programas\SOFTBLUE.JAVA\Locademia\wildfly-18.0.1.Final\bin
14/11/2019 19:39 2.417 add-user.bat
1 arquivo(s) 2.417 bytes
0 pasta(s) 325.220.286.464 bytes disponíveis
C:\Users\PC\Documents\Programas\SOFTBLUE.JAVA\Locademia\wildfly-18.0.1.Final\bin>add-user.bat
O sistema não pode encontrar o caminho especificado.
Pressione qualquer tecla para continuar. . .
Atenciosamente,
Alex Nunes Froes