7 Replies Latest reply on Jun 6, 2016 11:23 AM by Andre Rocha

    Duvida conceitual.

    Andre Rocha Newbie

      Duvida conceitual. Existe diferença de performance entre usar domain com slaves de hosts controlers gerenciando os nós e HA sem host-slaves e sem Domain ?

      Ou as vantagens são apenas em termos de configuração?

        • 1. Re: Duvida conceitual.
          Mauricio Magnani Jr Master

          Fala André tudo bom?

           

          Em relação  a performance das instâncias não!  Tanto as instâncias em modo Domain e Standalone possuem o mesmo comportamento em relação a performance.

           

          A grande vantagem de utilizar o ambiente em modo domain está na centralização das configurações como você mesmo percebeu. Outra grande vantagem é a possibilidade de escalar rapidamente  seu ambiente pois criar uma nova instância em modo domain é bem trivial.

           

          Se você já utilizou outras versões do JBoss deve estar pensando em utilizar o famoso Farm Deployment onde a aplicação era replicada para todos os nós do cluster. Esse recurso não existe no Standalone Mode, você terá que realizar o deploy em todos os nós um por um. Isso não é um problema se for 3 ou 4 instâncias mas imagine se forem umas 20 instâncias. Uma solução para esse problema seria a utilização de ferramentas como o RHQ, Ansible, Puppet  para realização de deploy em múltiplas instâncias o que acarretaria consumo de mais recursos e tempo. Para solucionar esse problema temos uma solução bem simples já embutida no servidor de aplicação o Domain Mode.


          Abraços



          • 2. Re: Duvida conceitual.
            Andre Rocha Newbie

            Oi Mauricio,

             

            Primeiramente obrigado por responder, entendi e agradeço muito a resposta, eu trabalhei com jboss EAP a alguns anos atras mas era uma app monolitica e sequer se falava em cluster. Por enquanto meu cluster é pequeno (2 a 3 nos em cada camada, de qualquer forma eu tenho plando para implantar o Domain no futuro. Vou aproveitar o gancho para tirar outra duvida que tive dificuldade em encontrar resposta nos forums até agora. Minha intenção é de que o cluster seja auto escalavel e no processo atual eu tenho um script que roda com o auto-scaling via cli da aws, que considera algumas metricas, com o domain eu só consegui chegar ao ponto de ter um numero estatico de instancias, vi alguns tutoriais de como fazer isso funcionar usando as configs do Jgroups. Você tem alguma documentação para me recomendar neste sentido?

             

            Abç e obrigado novamente.

            • 3. Re: Duvida conceitual.
              Mauricio Magnani Jr Master

              Fala André,

               

              Eu não trabalhei com o WildFly na amazon ainda mas a recomedação pelo que percebi é realmente utilizar o S3_PING JGroups.


              Esse exemplo poderia servir como ponto de partida: Elastic JBoss AS 7 clustering in AWS using EC2, S3, ELB and Chef - Amazon Web Services Germany

               

              Quem sabe até eu mesmo me arrisque a testar

               

              Abs

              • 4. Re: Duvida conceitual.
                Andre Rocha Newbie

                Bacana esse link =D. Sobre o S3_Ping eu estou usando atualmente...por enquanto o unico problema que tive é que as vezes quando a instancia do jboss morre ou é derrubada sem gracefull o arquivo de referencia continua no bucket da aws, e quando um nó novo sobe ou este mesmo se recupera...ele demora mais pra iniciar pois fica dando retry (10x) em referencias duplicadas, chega a ficar tentando reconectar nele mesmo...

                De qualquer forma não é algo que degrade o cluster...só demora um pouco mais pra subir o no no caso.

                • 5. Re: Duvida conceitual.
                  Andre Rocha Newbie

                  Referente ao balancer da aws citado no tutorial...eu estou usando na camada que tem o undertow respondendo uma api mas tive resultados ruins onde as servlets simplesmente travavam, pois o balancer da aws não consegue extrair as metricas corretas para enfileirar as conexões e tentei varios tunnings no undertow e nada impediu que ele travasse em uma situação de latencia alta no backend...estou migrando para apache por isso, nos testes que fiz ele consegue enfileirar melhor as requisições do que o da Aws.  Na camada de ejb não coloquei balancer.

                  • 6. Re: Duvida conceitual.
                    Philippe Aquino Newbie

                    Olá Não seu se pode lhe ajudar Andre, mais atualmente estou em um projeto e montei um ambiente parecido com o seu mais com widfly 10.

                     

                    Hoje temos o ambiente todo em auto-scalling na aws, onde conforme a demanda de acessos nos nossos serviços vamos subindo automaticamente os servidores ec2. com variavel de varias metricas... ficou bem legal

                     

                    Inclusive quem me ajudou demais em tudo que sei de jboss e wildfly foi o Mauricio.
                    Ja fiz uns testes tb com cluster em modo Standalone... mais foi so pra brincadeira rsrsr
                    de eu tinha um balanceador e juntamente o auto-scalling ia subindo minhas instancias standalone e atachando no LB... após isso todas as instancias entrava no mesmo endereço cname de dns... e cada hora a requisição e distribuição iria para cada instancia.... mais foi só pra teste mesmo o modo Domain...que e o ideal!

                    • 7. Re: Duvida conceitual.
                      Andre Rocha Newbie

                      Oi Philipe.

                      Muito obrigado por compartilhar sua experiência. Realmente o Wildfly 10 ta bem bacana...estou migrando p ele por causa do auto tuning q ele tem..:).
                      No seu caso você teve que escalar instâncias que atendiam somente EJB tb? Eu tentei balancear estes caras mas acabei não achando um caminho viável a nao ser usando um scoped client que inspecionasse os balancers mas tive muitos problemas pela quantidade de proxys q precisava abrir e acabei deixando essa ideia de lado. Hoje estou com uma implementação de balancer no client jndi atraves de outboind-connections q nao considera muitas estatísticas... Se tiver algo do tipo ou uma sugestão que tenha este contexto e puder compartilhar eu ia ficar muito grato :).
                      Quanto aos nos que atendem servlet você usou balancers da aws ou httpd?

                      Abc e obrigado novamente