Download - JBoss-WildFly - Avançado
Seminário JBoss/WildFly - AvançadoAdriano Schmidt
Adriano Schmidt
• Arquiteto de software na Supero Tecnologia desde 2012 e programa em Java desde 2007
• Técnico em Informática - SENAI• Faculdade de Adm. de Empresas - UNIVILLE• Mestrado em Administração - UDESC (Cursando)
• SCJP; Cisco CCNA 1 e 2
• Já trabalhou em: SENAI, Datasul, Totvs
Agenda
• Introdução e História do JBoss/WildFly
• JBoss por dentro
• Apache HTTP Server
• Cluster
• Mãos na massa!
• Um pouquinho de tunning
JBUG Brasil
www.localhost8080.com.br
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
JBoss por dentro
• Arquitetura e Pastas
• Standalone x Domain
• Arquivo standalone.xml
• Subsystem (datasource, logging, secutiry)
• Profiles
• Portas: port-offset
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.
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.
Mãos na massa
• Ambiente:• Apache HTTP Server na frente• Um JBoss master e dois slaves (todos no modo domain)
• 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
Mãos na massa!
JBoss Master JBoss Server1 JBoss Server2
Apache HTTP Server
Cluster
Usuário
Um pouquinho de tunning
• Testes de desempenho para identificar gargalos• JMeter, NewRelic, VisualVM, jConsole, entre outras.
• Escolha da JDK: JRockit!
• Memória: xms, xmx...
• Aumentar o pool de EJB• http://localhost8080.blogspot.com.br/2013/11/tuning-ejb-pool-jboss-7.html
• Estratégias de load balancer
• Estratégias de garbage collector
• Se usar JSF, talvez migrar para o JSF 2.2• http://localhost8080.blogspot.com.br/2013/06/jsf-22.html
Perguntas