Utilizando software livre para alta disponibilidade de sistemas web Java

15
Software Freedom Day 2012 – Teresina Utilizando ferramentas livres para a alta disponibilidade de sistemas web java Adriel Lucas

description

Este slide foi apresentado no minicurso do Software Freedom Day 2012 em Teresina-PI

Transcript of Utilizando software livre para alta disponibilidade de sistemas web Java

Page 1: Utilizando software livre para alta disponibilidade de sistemas web Java

Software Freedom Day 2012 – Teresina

Utilizando ferramentas livres para a alta disponibilidade de sistemas web

javaAdriel Lucas

Page 2: Utilizando software livre para alta disponibilidade de sistemas web Java

Sobre mim● Tec. de Infraestrutura na Infoway

E-Health Company● Atuação:

– Redes e servidores linux;– Virtualização (Xen e Esxi)– Banco de dados (Mysql e Postgres);– Servidores web (tomcat e apache)

Page 3: Utilizando software livre para alta disponibilidade de sistemas web Java

Roteiro

● Introdução● Cenário de Alta disponibilidade● Tomcat-Cluster● Balanceamento de Carga com Apache● Replicação de dados com Mysql;

Page 4: Utilizando software livre para alta disponibilidade de sistemas web Java

Introdução

É fácil ter alta disponibilidade

em sistemas web?

É muito caro?

Da pra prover alta disponibilidade de BD?

Qual é o objetivo desta oficina?

Page 5: Utilizando software livre para alta disponibilidade de sistemas web Java

Cenário de Alta disponibilidade

Page 6: Utilizando software livre para alta disponibilidade de sistemas web Java

Tomcat-Cluster

Tomcat A Tomcat B

Sessões

TOMCAT-CLUSTER

➔ Requisitos:➔ Todos os atributos das classes deveram implementar

java.io.Serializable;➔ Ter no arquivo web.xml o atributo <distributable/> ou

definir no server.xml o atributo <Context distributable=”true”>;

➔ Definir um nome diferene para o atributo jvmRoute no arquivo server.xml <Engine name=”Catalina” jvmRoute=”node01” >;

Page 7: Utilizando software livre para alta disponibilidade de sistemas web Java

Tomcat-Cluster

Tomcat A Tomcat B

Sessões

TOMCAT-CLUSTER

➔ Arquitetura:➔ Receiver: recebe as conexões vinda dos outros nós do

cluster;➔ Sender: envia as sessões para outro tomcat;➔ Menbership: realiza a parceria entre os nós do cluster;➔ Valve: detecta se uma requisição foi completada ou não;➔ Deployer: é responsável por deixar automática a gerencia

das aplicações no cluster;

Page 8: Utilizando software livre para alta disponibilidade de sistemas web Java

Tomcat-Cluster (Funcionamento)

Page 9: Utilizando software livre para alta disponibilidade de sistemas web Java

Tomcat-Cluster (configuração)

Page 10: Utilizando software livre para alta disponibilidade de sistemas web Java

Balanceamento de Carga com Apache

Page 11: Utilizando software livre para alta disponibilidade de sistemas web Java

Balanceamento de Carga com Apache

➢Mod_proxy

➢Mod_proxy_balancer

Page 12: Utilizando software livre para alta disponibilidade de sistemas web Java

Balanceamento de Carga com Apache (Configuração)

Page 13: Utilizando software livre para alta disponibilidade de sistemas web Java

Replicação de dados com MySQL

Page 14: Utilizando software livre para alta disponibilidade de sistemas web Java

Replicação de dados com MySQL (configuração)

➔ my.cnf

➔ Master:➔ log-bin=mysql-bin➔ Server-id=1➔ relay_log = mysql-relay-bin➔ log_slave_update = 1

➔ Slave:➔ log-bin = mysql-bin

➔ server-id = 2

➔ relay_log = mysql-relay-bin➔ log_slave_update = 1

Page 15: Utilizando software livre para alta disponibilidade de sistemas web Java

DÚVIDAS??www.adrielltech.com