SlideShare uma empresa Scribd logo
1 de 21
Globalcode – Open4education
WildFly Avançado
Adriano 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/selinux
De: 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-example
um EJB statefull para testar o cluster
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
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 Brasil
Nã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
adriano@localhost8080.com.br
(48) 9172-1216
www.facebook.com/schmidt.adriano
www.localhost8080.com.br

Mais conteúdo relacionado

Mais procurados

Alta perfomance de aplicações PHP com Nginx
Alta perfomance de aplicações PHP com NginxAlta perfomance de aplicações PHP com Nginx
Alta perfomance de aplicações PHP com Nginx
Thiago Paes
 

Mais procurados (20)

Apresentação hotspot
Apresentação hotspotApresentação hotspot
Apresentação hotspot
 
Zabbix, monitorando ambientes de banco de dados.
Zabbix, monitorando ambientes de banco de dados.Zabbix, monitorando ambientes de banco de dados.
Zabbix, monitorando ambientes de banco de dados.
 
Palestra FISL 14 JBoss Cluster
Palestra FISL 14 JBoss ClusterPalestra FISL 14 JBoss Cluster
Palestra FISL 14 JBoss Cluster
 
FISL11 2010 - Automação de Datacenters
FISL11 2010 - Automação de DatacentersFISL11 2010 - Automação de Datacenters
FISL11 2010 - Automação de Datacenters
 
Brutos Framework (Java WEB MVC)
Brutos Framework (Java WEB MVC)Brutos Framework (Java WEB MVC)
Brutos Framework (Java WEB MVC)
 
Cloud Mysql e MariaDB em alta performance
Cloud Mysql e MariaDB em alta performanceCloud Mysql e MariaDB em alta performance
Cloud Mysql e MariaDB em alta performance
 
Hospedagem Web Linux em Ambiente Virtualizado Hyper-V
Hospedagem Web Linux em Ambiente Virtualizado Hyper-VHospedagem Web Linux em Ambiente Virtualizado Hyper-V
Hospedagem Web Linux em Ambiente Virtualizado Hyper-V
 
Cloud PostgreSQL em alta performance
Cloud PostgreSQL em alta performanceCloud PostgreSQL em alta performance
Cloud PostgreSQL em alta performance
 
Java Escalável e com Alta Disponibilidade na Nuvem
Java Escalável e com Alta Disponibilidade na NuvemJava Escalável e com Alta Disponibilidade na Nuvem
Java Escalável e com Alta Disponibilidade na Nuvem
 
WSO2 Application Server como Alternativa ao Tomcat
WSO2 Application Server como Alternativa ao TomcatWSO2 Application Server como Alternativa ao Tomcat
WSO2 Application Server como Alternativa ao Tomcat
 
Quando o planejamento da infraestrutura leva ao sucesso
Quando o planejamento da infraestrutura leva ao sucessoQuando o planejamento da infraestrutura leva ao sucesso
Quando o planejamento da infraestrutura leva ao sucesso
 
Slides nginx
Slides nginxSlides nginx
Slides nginx
 
Zabbix
ZabbixZabbix
Zabbix
 
Web Services
Web ServicesWeb Services
Web Services
 
Percona XtraBackup
Percona XtraBackupPercona XtraBackup
Percona XtraBackup
 
APIs REST com Spring Boot
APIs REST com Spring BootAPIs REST com Spring Boot
APIs REST com Spring Boot
 
Entregando conteúdo em ambientes extremos na JVM
Entregando conteúdo em ambientes extremos na JVMEntregando conteúdo em ambientes extremos na JVM
Entregando conteúdo em ambientes extremos na JVM
 
Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...
Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...
Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...
 
Alta perfomance de aplicações PHP com Nginx
Alta perfomance de aplicações PHP com NginxAlta perfomance de aplicações PHP com Nginx
Alta perfomance de aplicações PHP com Nginx
 
Mysql para aplicações Web escaláveis
Mysql para aplicações Web escaláveisMysql para aplicações Web escaláveis
Mysql para aplicações Web escaláveis
 

Semelhante a WildFly Avançado - TDC Floripa 2015

TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escalaTDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
Cleber Dantas
 
Inovando na plataforma Java
Inovando na plataforma JavaInovando na plataforma Java
Inovando na plataforma Java
Eteg
 

Semelhante a WildFly Avançado - TDC Floripa 2015 (20)

TDC 2012 - JDF
TDC 2012 - JDFTDC 2012 - JDF
TDC 2012 - JDF
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014
 
Aplicações 12 fatores, melhor com Docker
Aplicações 12 fatores, melhor com DockerAplicações 12 fatores, melhor com Docker
Aplicações 12 fatores, melhor com Docker
 
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrõesMC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
 
Migração de Banco de Dados - Oracle para MongoDB - TDC2014
Migração de Banco de Dados - Oracle para MongoDB - TDC2014Migração de Banco de Dados - Oracle para MongoDB - TDC2014
Migração de Banco de Dados - Oracle para MongoDB - TDC2014
 
Java 9 – Produtividade, Performance e Competitividade, mais do que uma nova v...
Java 9 – Produtividade, Performance e Competitividade, mais do que uma nova v...Java 9 – Produtividade, Performance e Competitividade, mais do que uma nova v...
Java 9 – Produtividade, Performance e Competitividade, mais do que uma nova v...
 
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escalaTDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
 
Internet das coisas - A revolução já começou
Internet das coisas - A revolução já começouInternet das coisas - A revolução já começou
Internet das coisas - A revolução já começou
 
Implementando uma Device Farm Android
Implementando uma Device Farm AndroidImplementando uma Device Farm Android
Implementando uma Device Farm Android
 
WildFly Swarm: Criando Microservices com Java EE 7
WildFly Swarm: Criando Microservices com Java EE 7WildFly Swarm: Criando Microservices com Java EE 7
WildFly Swarm: Criando Microservices com Java EE 7
 
JBoss Forge TDC - 2012 Florianópolis
JBoss Forge TDC - 2012 FlorianópolisJBoss Forge TDC - 2012 Florianópolis
JBoss Forge TDC - 2012 Florianópolis
 
JSF 2.0: Uma Evolução nas Interfaces Web com Java
JSF 2.0: Uma Evolução nas Interfaces Web com JavaJSF 2.0: Uma Evolução nas Interfaces Web com Java
JSF 2.0: Uma Evolução nas Interfaces Web com Java
 
JSF2 c/ PrimeFaces, RichFaces e ICEfaces
JSF2 c/ PrimeFaces, RichFaces e ICEfacesJSF2 c/ PrimeFaces, RichFaces e ICEfaces
JSF2 c/ PrimeFaces, RichFaces e ICEfaces
 
TDC 2015 - Java 8 em 256 KB de memória RAM
TDC 2015 - Java 8 em 256 KB de memória RAMTDC 2015 - Java 8 em 256 KB de memória RAM
TDC 2015 - Java 8 em 256 KB de memória RAM
 
Internet das coisas - A Revolução já começou
Internet das coisas - A Revolução já começouInternet das coisas - A Revolução já começou
Internet das coisas - A Revolução já começou
 
Desenvolvimento RIA com GWT e Spring
Desenvolvimento RIA com GWT e SpringDesenvolvimento RIA com GWT e Spring
Desenvolvimento RIA com GWT e Spring
 
Inovando na plataforma Java
Inovando na plataforma JavaInovando na plataforma Java
Inovando na plataforma Java
 
Inovando na Plataforma Java
Inovando na Plataforma JavaInovando na Plataforma Java
Inovando na Plataforma Java
 
Migracao gae-openshift
Migracao gae-openshiftMigracao gae-openshift
Migracao gae-openshift
 
Criando microsserviços em PHP
Criando microsserviços em PHPCriando microsserviços em PHP
Criando microsserviços em PHP
 

Mais de Adriano Schmidt

Mais de Adriano Schmidt (9)

Agile em freelas e consultorias
Agile em freelas e consultoriasAgile em freelas e consultorias
Agile em freelas e consultorias
 
Como comecar na area de UX
Como comecar na area de UXComo comecar na area de UX
Como comecar na area de UX
 
O usuario esta bebado - UX eh pra todo mundo - 15 min
O usuario esta bebado - UX eh pra todo mundo - 15 minO usuario esta bebado - UX eh pra todo mundo - 15 min
O usuario esta bebado - UX eh pra todo mundo - 15 min
 
O usuário está bêbado - UX é pra todo mundo!
O usuário está bêbado - UX é pra todo mundo!O usuário está bêbado - UX é pra todo mundo!
O usuário está bêbado - UX é pra todo mundo!
 
O usuario esta bebado - TDC SP 2015
O usuario esta bebado - TDC SP 2015O usuario esta bebado - TDC SP 2015
O usuario esta bebado - TDC SP 2015
 
Desenvolvimento Java
Desenvolvimento JavaDesenvolvimento Java
Desenvolvimento Java
 
Palestra - Como podemos ajudar - Adriano Schmidt
Palestra - Como podemos ajudar - Adriano SchmidtPalestra - Como podemos ajudar - Adriano Schmidt
Palestra - Como podemos ajudar - Adriano Schmidt
 
Palestra - Entendendo o Git - Adriano Schmidt
Palestra - Entendendo o Git - Adriano SchmidtPalestra - Entendendo o Git - Adriano Schmidt
Palestra - Entendendo o Git - Adriano Schmidt
 
TCC - Adriano Schmidt - Responsabilidade Social
TCC - Adriano Schmidt - Responsabilidade SocialTCC - Adriano Schmidt - Responsabilidade Social
TCC - Adriano Schmidt - Responsabilidade Social
 

WildFly Avançado - TDC Floripa 2015