wildfly em alta disponibilidade

52
Wildfly Em alta disponibilidade!

Upload: hanneli-tavante

Post on 24-Jan-2015

119 views

Category:

Technology


4 download

DESCRIPTION

Palestra na trilha de JEE do TDC POA 2014

TRANSCRIPT

Page 1: Wildfly em alta disponibilidade

Wildfly

Em alta disponibilidade!

Page 2: Wildfly em alta disponibilidade

Oi!

Hanneli (a.k.a. @hannelita)!

Desenvolvedora @Codeminer42!

Café, Lego, Pokémon e bichos <3

HIRING

Page 3: Wildfly em alta disponibilidade

Yet another application server?

Page 4: Wildfly em alta disponibilidade

O que *NÃO* vamos ver aqui

Evangelização de empresas e tecnologias!

Tecnologia A é melhor que B!

Wildfly é perfeito!

Tutorial chato e cansativo de instalação e JEE

Page 5: Wildfly em alta disponibilidade

O que *vamos* ver aqui

Um pouco sobre servidores Java ao longo dos últimos 5 anos!

Como o JBoss 7 mudou algumas coisas e gerou revolta em outras!

Wildfly - suavizando os pontos de desgosto!

Wildfly e JEE 7: features interessantes!

Wildfly - quando não usar?!

GIFs e imagens legais <3

Page 6: Wildfly em alta disponibilidade

Vamos fazer o projeto com Java!

Lá pra 2006

IDE

Server

Código

Page 7: Wildfly em alta disponibilidade

Lá pra 2006

Page 8: Wildfly em alta disponibilidade

Quase todos os servidores Java EE:

Lá pra 2006

Consumiam muita RAM (subiam muitos recursos de uma vez)!

Tinham mecanismos pouco eficazes de hot deploy!

Setup complicado (3489234783274 XMLs espalhados por aí)

Page 9: Wildfly em alta disponibilidade

Lá pra 2006

Page 10: Wildfly em alta disponibilidade

Em 2011

Subisse rápido!

Sem 3894398237 XMLs!

Maneira fácil de fazer hot deploy!

De preferência mais leve/ consumisse menos RAM

A comunidade queria um servidor que:

Page 11: Wildfly em alta disponibilidade

Em 2011

Page 12: Wildfly em alta disponibilidade

Em 2011

Page 13: Wildfly em alta disponibilidade

JBoss AS 7O servidor vai startar.

SOBE TUDO AÍ!

JPA JMS Log EJB JCA

JSF Jax-ws Jax-rs

Page 14: Wildfly em alta disponibilidade

JBoss AS 7Sobe só o que precisa…

JPA JMS Log EJB JCA

JSF Jax-ws Jax-rs funções mínimas

Page 15: Wildfly em alta disponibilidade

JBoss AS 7Sobe só o que precisa…

JPA JMS Log EJB JCA

JSF Jax-ws Jax-rs

Modular Service Container!

funções mínimas

MSC

Page 16: Wildfly em alta disponibilidade

JBoss AS 7 e o MSC

Page 17: Wildfly em alta disponibilidade

JBoss AS 7 e o MSC

Start rápido!

Menor consumo de RAM!

Melhor gerenciamento de memória

Page 18: Wildfly em alta disponibilidade

JBoss AS 5

XML para JMS!

XML para datasource!

XML para cluster!

XML para cache de segundo nível!

XML para EJBs

Page 19: Wildfly em alta disponibilidade

JBoss AS 5

Page 20: Wildfly em alta disponibilidade

JBoss AS 7

1 ou 2 arquivos de configuração principais!

standalone.xml ou standalone-*.xml!

domain.xml + host.xml

Page 21: Wildfly em alta disponibilidade

JBoss AS 7

Page 22: Wildfly em alta disponibilidade

JBoss AS 7

Hot deploy!

Server

Page 23: Wildfly em alta disponibilidade

Mas…

Page 24: Wildfly em alta disponibilidade

Mas…Sobe só o que precisa…

JPA JMS Log EJB JCA

JSF Jax-ws Jax-rs

funções mínimas

MSC

porta httpporta httpporta http

porta http

Page 25: Wildfly em alta disponibilidade

Overhead de portas HTTP!

Page 26: Wildfly em alta disponibilidade

Tomcat

JPA JMS Log EJB JCA

JSF Jax-ws Jax-rs

funções mínimas

MSC

porta httpporta httpporta http

porta httpTomcat

porta http

Page 27: Wildfly em alta disponibilidade

Tomcat - na real

JPA JMS Log EJB JCA

JSF Jax-ws Jax-rs

funções mínimas

MSC

porta httpporta httpporta http

porta http Tomcatporta http

Page 28: Wildfly em alta disponibilidade

Tomcat - na real

JPA JMS Log EJB JCA

JSF Jax-ws Jax-rs

funções mínimas

MSC

porta httpporta httpporta http

porta http Tomcatporta http

Page 29: Wildfly em alta disponibilidade

JBoss AS 7

JPA JMS Log EJB JCA

JSF Jax-ws Jax-rs

funções mínimas

MSC

porta httpporta httpporta http

porta http

Java EE 7

Page 30: Wildfly em alta disponibilidade

É necessária uma nova versão do JBoss AS

Page 31: Wildfly em alta disponibilidade

JBoss AS 8

Wildfly

Page 32: Wildfly em alta disponibilidade

Wildfly

Java EE 7

Page 33: Wildfly em alta disponibilidade

Wildfly

Page 34: Wildfly em alta disponibilidade

Wildfly

Tenta suavizar alguns problemas do JBoss AS 7

Page 35: Wildfly em alta disponibilidade

WildflySuavização #1 - portas HTTP

Somente o overhead das portas HTTP e HTTPs ao iniciar

Page 36: Wildfly em alta disponibilidade

Wildfly

Page 37: Wildfly em alta disponibilidade

Wildfly

Suavização #2 - Web Container

Page 38: Wildfly em alta disponibilidade

Wildfly

Page 39: Wildfly em alta disponibilidade

Wildfly

Novo Web Container!

Undertow!

Page 40: Wildfly em alta disponibilidade

Undertow

Blocking / Non-Blocking NIO

Muito mais leve

Servlet 3.1

HTTP upgrade

suporta mod_cluster

Handlers 'lokões'!

Page 41: Wildfly em alta disponibilidade

Undertow Handlers

handler ==

handler =='Trazer a ideia do MSC' para

o Web Container

Page 42: Wildfly em alta disponibilidade

Wildfly + Undertow <3

Page 43: Wildfly em alta disponibilidade

Wildfly - quando não usar?

Quando precisar de licença corporativa e suporte - não há ainda um 'EAP 7’ e se houver nos primeiros meses costuma ser instável!

Quando a empresa tiver comprometimento com outras corporações de Java (Oracle, IBM)!

Quando usar Java EE em versões antigas

Page 44: Wildfly em alta disponibilidade

Wildfly - Minha opinião

Page 45: Wildfly em alta disponibilidade

DISCLAIMER

MINHA VISÃO

Você não precisa concordar, discordar ou achar que estou xingando/elogiando

Page 46: Wildfly em alta disponibilidade

Wildfly - Minha opinião

Muito rápido!

Muito produtivo!

Undertow é f*** <3!

Modo Domain continua f***!

Número considerável de bugs abertos :(!

1 XML to rule them all?

Page 47: Wildfly em alta disponibilidade

Valeu!!!Perguntas?

[email protected]@hannelita

Page 48: Wildfly em alta disponibilidade

Referênciashttp://www.slideshare.net/dandreadis/2013-11devoxxwild-flybof?qid=1ab6cb19-8903-4405-aee6-7d5e1e1c7f3f&v=default&b=&from_search=4!

http://www.slideshare.net/Codemotion/marchioni-wildfly2014?qid=1ab6cb19-8903-4405-aee6-7d5e1e1c7f3f&v=default&b=&from_search=6!

http://www.slideshare.net/vineetreynolds/whats-new-in-wildfly-8!

http://www.javacodegeeks.com/2014/01/entering-undertow-web-server.html

Page 49: Wildfly em alta disponibilidade

Apêndice - modo standaloneWildfly

app1

app2

app3

app4

app5

app6

Page 50: Wildfly em alta disponibilidade

Separar as aplicações!

Wildfly Wildfly

app1 app2

Wildfly Wildfly

Wildfly Wildfly

app3 app4

app5 app6

Wildfly

app1 app2

app3 app4

app5 app6

Separar uma aplicação em !cada instância

Replicar o servidor com todas as aplicações !(cluster)

Wildfly

app1 app2

app3 app4

app5 app6

Wildfly

app1 app2

app3 app4

app5 app6

Page 51: Wildfly em alta disponibilidade

Controle Central

Wildfly

Seria muito difícil controlar as instâncias separadamente

Wildfly

Wildfly

Wildfly

Page 52: Wildfly em alta disponibilidade

Controle Central

Wildfly

Seria muito difícil controlar as instâncias separadamente

Wildfly

Wildfly

Wildfly

Wildfly

Wildfly

Wildfly

Domain./domain.sh