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

Utilizando software livre para alta disponibilidade de sistemas web Java

Embed Size (px)

DESCRIPTION

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

Citation preview

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