2. Globalcode – Open4education
Adriano Schmidt
Programador Java desde 2007
Arquiteto de Software
Técnico em Informática
Faculdade de Adm. de Empresas
Cursando MBA em Marketing Digital – FGV
SCJP; Cisco CCNA 1 e 2
6. Globalcode – Open4education
Introdução
JBoss/Wildfly é um Application Server desenvolvido em
Java, que visa atender as especificações JavaEE.
JBoss AS, JBoss EAP, WildFly
Mantido pela RedHat e é gratuito (GPL)
História
EJBoss – 1999 (Enterprise Java Beans Open Source System)
JBoss 1.0 - 2000
JBoss 7.0 - 2011
WildFly 8.0 - 2013
WildFly 9.0 - 2015
7. Globalcode – Open4education
Novidades no WildFly 8
Certificado para Java EE 7
Melhora de perfomance web com Undertow
Redução no número de portas utilizadas
RBCA e log de auditoria
Melhorias para aplicação de patch
WebConsole mais amigável na versão 8.2.0
8. Globalcode – Open4education
Por dentro
Arquitetura e Pastas
Standalone x Domain
Arquivo standalone.xml
Subsystem (datasource, logging, secutiry)
Profiles (default, ha, full, full-ha)
Port Offset (-Djboss.socket.binding.portoffset=150)
CLI (Command Line Interface)
9. Globalcode – Open4education
Apache HTTP Server
O que é um HTTP Server?
Ele serve web pages. Espera requests de web browsers
(clientes) e responde enviando os dados requisitados de
volta.
Apache HTTP Server é o HTTP Server mais
popular. Surgiu em 1996.
Permite Load Balancer.
Funciona como Proxy Reverso.
10. Globalcode – Open4education
Cluster
Clusterização permite que sejam rodados vários
Application Servers em paralelo.
Os acessos são distribuídos pelos servers, e
mesmo se um server cair, a aplicação continua
acessível.
Clusterização ajuda na escalabilidade e
performance. Você pode aumentar a performance
adicionando mais servidores no cluster.
12. Globalcode – Open4education
Inimigos do cluster
iptables
selinux
iptables -F
vi /etc/sysconfig/selinux
De: SELINUX=enforcing
Para: SELINUX=disabled
Será?
E outras questões de infra/linux/segurança?
13. Globalcode – Open4education
Mãos na massa
Ambiente:
Apache HTTP Server na frente
Um JBoss master e dois slaves (todos no modo domain)
15. Globalcode – Open4education
Mãos na massa
Projetos:
Systemprops
exibe propriedades da máquina para testar o load balancer -
System.getProperty("jboss.server.name")
Cluster-example
um EJB statefull para testar o cluster
16. Globalcode – Open4education
Um pouquinho de tuning
Testes de desempenho para identificar gargalos
JMeter, NewRelic, VisualVM, jConsole, entre outras.
Memória: xms, xmx
Pool de EJB
Estratégias de load balancer
Estratégias de garbage collector
Sistema Operacional
17. Globalcode – Open4education
WildFly 9
Está na versão 9.0.0.CR1
Suporte HTTP/2 & SPDY
Ele pode ser usado como HTTP Server (não
necessita mais do Apache)
CLI Offline
Graceful single node shutdown
18. Globalcode – Open4education
OpenShift
PaaS
Permite você deployar e escalar sua aplicação
É possível faze integração/entrega contínua
Limitações no Brasil
Não é possível fazer upgrade de conta
Aplicação fica inativa (idle) após 24 horas sem acessos
Limite para escalar