Entendendo os modos de execução do Wildfly para aplicativos Java
Qual modo usar?
É comum que ao escolhermos a utilização de uma plataforma de middleware como o Wildfly para a execução de nossos aplicativos Java, nos deparamos com a seguinte questão:
“Qual modo de execução utilizar?”
Como quase tudo no mundo da TI a resposta é depende!
O Wildfly possui 2 modos de execução, o domain e o standalone, e todo o seu cenário irá influenciar na escolha que deve ser feita, para ajudar na escolha algumas perguntas podem facilitar a decisão:
- Qual a quantidade de instâncias necessárias para o ambiente?
- Será preciso um gerenciamento centralizado e controle de configuração?
- Será preciso um ponto único e controlável de deployment das aplicações?
- As instâncias estarão espalhadas por diversas máquinas?
Com certeza respondendo essas perguntas você já terá um boa noção do que precisa, e para isso vamos entender melhor o que difere cada modo de execução.
Wildfly – Standalone
O modo standalone, como o próprio nome sugere é uma instância única onde o Wildfly irá prover todos os recursos necessários para a execução do seu aplicativo java. Este módulo utiliza toda a estrutura de arquivos do Wildfly para si, assim não é possível executar outra instância utilizando a mesma estrutura, será necessário outro diretório standalone para realizar a execução de outra JVM.
Para o modo standalone ainda é possível contar com perfis de execução que são separados cada um em um arquivo xml diferente, estes podem ser escolhidos no momento da execução, onde pode-se escolher entre:
Perfil | Arquivo de configuração | Utilização |
---|---|---|
Web | standalone.xml | Permite o uso do perfil Java EE Web |
Full | standalone-full.xml | Permite o uso do perfil Java EE Full |
Web c/ HA | standalone-ha.xml | Permite o uso do perfil Java EE Web com características de HA |
Full c/ HA | standalone-full-ha.xml | Permite o uso do perfil Java EE Full com características de HA |
Os detalhes de cada perfil e exemplos de uso serão detalhados em um outro post.
Dessa forma vemos que neste modo o gerenciamento, deploy dos aplicativos e manutenção são individuais para cada instância tornando este trabalho custoso caso você tenha diversas instâncias para administrar.
Wildfly – Domain
Já neste modo é possível ter uma instância centralizadora que terá a função de “domain controller”, e as instâncias que irão receber as instruções que terão a função apenas de “host controller”. Com o modo domain temos um ponto único de gerenciamento onde toda configuração realizada no “domain controller” é distribuída para as outras instâncias, evitando assim que uma nova instância seja criada com uma configuração indevida, terá também um ponto único de deploy dos aplicativos e pela configuração realizada o “domain controller” se encarregará de distribuir o artefato somente para as instâncias configuradas para recebê-lo.
Este modo, assim como o standalone também possui os mesmos perfis de execução, porém há uma diferença no nome e este é passado através da configuração e não de arquivos como no modo standalone. As opções são:
Perfil | Nome do Profile | Utilização |
---|---|---|
Web | default | Permite o uso do perfil Java EE Web |
Full | full | Permite o uso do perfil Java EE Full |
Web c/ HA | ha | Permite o uso do perfil Java EE Web com características de HA |
Full c/ HA | full-ha | Permite o uso do perfil Java EE Full com características de HA |
Sabemos então que com o modo domain caso tenhamos diversas instâncias ou um ambiente onde é necessário um controle maior de gerenciamento, este modo irá facilitar muito mais o trabalho do administrador.
Conclusão
Com base nessas informações, podemos responder as perguntas e chegar a uma conclusão que o modo standalone pode ser a melhor escolha para um ambiente tanto de desenvolvimento rápido e ágil como de produção por ter uma configuração e execução mais simples fazendo com que o ambiente seja disponibilizado mais rapidamente, porém se seu cenário requerer diversas instâncias em diversos hosts isto pode se tornar um calcanhar de Aquiles, fazendo com que a gestão seja trabalhosa, dificultando as tarefas diárias.
Assim, para um cenário mais robusto e/ou com políticas rigorosas de gerenciamento e controle de acesso, o modo domain seria o mais indicado por prover toda a gestão concentrada em um único ponto, gerando facilidade, agilidade e rapidez para o administrador destas instâncias gerenciar os serviços e realizar as tarefas diárias.
Esta é apenas uma leitura sintetizada sobre os modos de operação do Wildfly, nos próximos posts iremos aprofundar e ver mais detalhes sobre cada modo, seus perfis e casos de uso.
Até a próxima!
Líder em Treinamento e serviços de Consultoria, Suporte e Implantação para o mundo open source. Conheça nossas soluções:
About author
Você pode gostar também
Entenda o Processo de Consulta SQL no Sistema Gerenciador de Banco de Dados Postgres
Sempre que utilizamos o Sistema Gerenciador de Banco de Dados (SGBD) Postgres ou PostgreSQL, o foco principal de sua utilização é a realização de consultas (Querys), afinal de nada adiantaria
Guia para atualizar o AWS Load Balancer Controller após migração do Kubernetes 1.21 para 1.22
Após atualizar o cluster do Kubernetes da versão 1.21 para a 1.22, você pode precisar atualizar o AWS Load Balancer Controller (anteriormente conhecido como ALB Ingress Controller) para garantir que
Desvendando a Lógica de Programação: Como ela impacta nosso dia a dia
Quando começamos a aprender a programar, nos deparamos com muitas coisas que, para muitos, são novas. Conceitos como variáveis, memória, escopo, interfaces, entre outros. Também nos deparamos com conceitos que