wildfly avançado - tdc floripa 2015
TRANSCRIPT
Globalcode – Open4education
WildFly AvançadoAdriano Schmidt
Maio de 2015 – Trilha Java EE
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
Globalcode – Open4education
Blog
Globalcode – Open4education
JBUG Brasil
Globalcode – Open4education
Agenda
Introdução
Novidades no WildFly 8
Por dentro
Apache HTTP Server
Cluster
Inimigos do cluster
Mãos na massa
Um pouquinho de tuning
WildFly 9
OpenShift
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
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
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)
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.
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.
Globalcode – Open4education
Cluster
web.xml
<web-app><distributable />
</web-app>
EJB
@Stateful
@Clustered
public class MyClusteredService { … }
Globalcode – Open4education
Inimigos do cluster
iptables
selinux
iptables -F
vi /etc/sysconfig/selinuxDe: SELINUX=enforcing
Para: SELINUX=disabled
Será?
E outras questões de infra/linux/segurança?
Globalcode – Open4education
Mãos na massa
Ambiente:Apache HTTP Server na frente
Um JBoss master e dois slaves (todos no modo domain)
Globalcode – Open4education
Mãos na massa
WildFly Master WildFly Server1 WildFly Server2
Apache HTTP Server
Cluster
Usuário
Globalcode – Open4education
Mãos na massa
Projetos:Systemprops
exibe propriedades da máquina para testar o load balancer - System.getProperty("jboss.server.name")
Cluster-exampleum EJB statefull para testar o cluster
Globalcode – Open4education
Um pouquinho de tuning
Testes de desempenho para identificar gargalosJMeter, NewRelic, VisualVM, jConsole, entre outras.
Memória: xms, xmx
Pool de EJB
Estratégias de load balancer
Estratégias de garbage collector
Sistema Operacional
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
Globalcode – Open4education
OpenShift
PaaS
Permite você deployar e escalar sua aplicação
É possível faze integração/entrega contínua
Limitações no BrasilNão é possível fazer upgrade de conta
Aplicação fica inativa (idle) após 24 horas sem acessos
Limite para escalar
Globalcode – Open4education
Perguntas?
Globalcode – Open4education
Muito Obrigado!!
Globalcode – Open4education
Contatos
(48) 9172-1216
www.facebook.com/schmidt.adriano
www.localhost8080.com.br