Quando forem provisionar algum ambiente de middleware, ou ate mesmo para ambiente que apresenta esgotamento de memoria heap, apliquem essa configuracao abaixo na JVM para que ao ocorrer outofmemory na heap um threaddump e heapdump serao gerados: -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -verbose:gc -XX:+PrintGCDetails -Xloggc:/tmp/gc.log -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=12 -XX:GCLogFileSize=100M -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp/jvmheap-`date +%Y%m%d%H%M%S`.hprof -XX:OnOutOfMemoryError="$JAVA_HOME/bin/jstack -F pid > /tmp/jvmthread-`date +%Y%m%d%H%M%S`.dmp"IMPORTANTE: 1 - O usuario que executara a JVM deve ser root(nao faca isso), ou um usuario que nao tenha determinadas limitacoes, exemplos de ajustes no limits.conf e su do pam.d: jboss soft nofile 131072jboss hard nofile 131072jboss soft nproc 131072jboss hard nproc 131072jboss soft core unlimitedjboss hard core unlimitedjboss soft memlock 50000000jboss hard memlock 50000000session required pam_limits.so2 - O usuario de execucao deve ter permissao de escrita nas pastas em que o heap e thread dump serao gerados; 3 - A variavel $JAVA_HOME deve existir ou ser instanciada antes da chamada da JAVA_OPTS. Diversas publicacoes na Internet apresentam uma forma de realizar a configuracao no Wildfly de um cluster com replicacao de sessao e com balanceamento de carga quando temos no ambiente a composicao de Wildfly(infinispan, jgroups), Apache e mod_cluster ou mod_jk. Tambem outro cenario comum nas publicacoes e que e permitido o multicast, ou seja, a propagacao de informacoes para diversos destinatarios usando UDP. Em datacenters privados e possivel tal configuracao, mas vamos levar para a realidade do VPC da Amazon, onde temos o Overlay Multicast como opcao para fazer Multicast que para a habilitacao deve ser seguido um roteiro de ajustes, instalacoes de pacotes e etc, que nao julguei interessante uma vez que podemos utilizar um meio mais simples de configurar o reconhecimento de host-controller do cluster. Caso sua necessidade seja trabalhar com AutoScale, entao o Overlay se justifica principalmente por nao fixar configuracoes no domain.xml, deixando mais dinamica sua configuracao, entretanto se este nao e sua necessidade, vamos simplificar e transformar o multicast em uma lista de hosts de host-controllers. Mais um item interessante de mencionar, citando replicacao de sessao, e alterarmos a comunicacao dos objetos de sessao de UDP para TCP, pois isso transformara a replicacao em algo mais confiavel.Mas quais ajustes sao necessarios e em quais arquivos? Na minha publicacao nao tratarei de como configurar um cluster, pois isto podes achar em diversos sites com a correta orientacao, mas vou citar especificamente as configuracoes que citei acima do initial_hosts do jgroups e tambem do metodo TCP com TCPPING. Para realizar estes ajustes segue um exemplo de configuracao do domain.xml que podes adaptar a tua realidade de ambiente: IMPORTANTE: Aplique as configuracoes abaixo no profile utilizado, no HA ou Full-HA, onde o que esta em negrito sao os ajustes realizados.Observe que o nome master e slave1 sao os node identifier no host.xml. Tambem libere a porta 7600 nos SecurityGroups.Mas por que nao utilizar o mod_cluster ou mod_jk? Quando estamos um ambiente AWS* podemos utilizar o proprio LoadBalancer(ELB) como balanceador e health-check* das instancias, semelhante a funcionalidade do mod_cluster, e que tambem e baseado em loadfactor para distribuir as conexoes. Ao fazemos isto precisamos necessariamente nao expor a interface de gerenciamento(bmanagement) deixando-a apenas como loopback