SlideShare ist ein Scribd-Unternehmen logo
1 von 15
Downloaden Sie, um offline zu lesen
Software Freedom Day
             2012 – Teresina


Utilizando ferramentas livres para a
alta disponibilidade de sistemas web
                 java
            Adriel Lucas
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)
Roteiro
●
    Introdução
●
    Cenário de Alta disponibilidade
●
    Tomcat-Cluster
●
    Balanceamento de Carga com Apache
●
    Replicação de dados com Mysql;
Introdução              Da pra prover
                                      alta disponibilidade de BD?
                      É muito caro?

  É fácil ter alta
 disponibilidade
em sistemas web?

                                               Qual é o objetivo
                                                desta oficina?
Cenário de Alta
disponibilidade
Tomcat-Cluster
                             TOMCAT-CLUSTER

                               Sessões




                  Tomcat A                    Tomcat B

➔
    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” >;
Tomcat-Cluster
                             TOMCAT-CLUSTER

                               Sessões




                 Tomcat A                     Tomcat B

➔
    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;
Tomcat-Cluster
(Funcionamento)
Tomcat-Cluster
(configuração)
Balanceamento de Carga
      com Apache
Balanceamento de Carga
      com Apache

➢
    Mod_proxy

➢
    Mod_proxy_balancer
Balanceamento de Carga
com Apache (Configuração)
Replicação de dados com
         MySQL
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
DÚVIDAS??
www.adrielltech.com

Weitere ähnliche Inhalte

Was ist angesagt?

PostgreSQL Transformando um elefante numa manada
PostgreSQL Transformando um elefante numa manadaPostgreSQL Transformando um elefante numa manada
PostgreSQL Transformando um elefante numa manadaFabio Telles Rodriguez
 
Clustering Domino8.5
Clustering Domino8.5Clustering Domino8.5
Clustering Domino8.5Rodrigo Duran
 
Alta disponibilidade com PostgreSQL
Alta disponibilidade com PostgreSQLAlta disponibilidade com PostgreSQL
Alta disponibilidade com PostgreSQLLeonardo Cezar
 
Tópicos - Redes para Cluster de Alta Performance
Tópicos - Redes para Cluster de Alta PerformanceTópicos - Redes para Cluster de Alta Performance
Tópicos - Redes para Cluster de Alta PerformanceLuiz Arthur
 
Linux Servidor Proxy(squid)
Linux Servidor Proxy(squid)Linux Servidor Proxy(squid)
Linux Servidor Proxy(squid)elliando dias
 
Implementação de Servidor Linux Ubuntu Server
Implementação de Servidor Linux Ubuntu ServerImplementação de Servidor Linux Ubuntu Server
Implementação de Servidor Linux Ubuntu ServerTiago Bezerra Dos Santos
 
UNIFAL - MySQL Logs - 5.0/5.6
UNIFAL - MySQL Logs - 5.0/5.6UNIFAL - MySQL Logs - 5.0/5.6
UNIFAL - MySQL Logs - 5.0/5.6Wagner Bianchi
 
Alta Disponibilidade utilizando Pacemaker e DRBD
Alta Disponibilidade utilizando Pacemaker e DRBDAlta Disponibilidade utilizando Pacemaker e DRBD
Alta Disponibilidade utilizando Pacemaker e DRBDFrederico Madeira
 
Luarocks 2.0 - talk at Lua Workshop 2009
Luarocks 2.0 - talk at Lua Workshop 2009Luarocks 2.0 - talk at Lua Workshop 2009
Luarocks 2.0 - talk at Lua Workshop 2009Hisham Muhammad
 
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 JVMRodrigo Zaccara
 
Cluster de Alta disponibilidade
Cluster de Alta disponibilidadeCluster de Alta disponibilidade
Cluster de Alta disponibilidadeMarcelo Garcia
 
MySQL 5.7 Multi-Source Replication
MySQL 5.7 Multi-Source ReplicationMySQL 5.7 Multi-Source Replication
MySQL 5.7 Multi-Source ReplicationWagner Bianchi
 
Redes de computadores II - 6.Noções de Controle de Congestionamento e QoS
Redes de computadores II - 6.Noções de Controle de Congestionamento e QoSRedes de computadores II - 6.Noções de Controle de Congestionamento e QoS
Redes de computadores II - 6.Noções de Controle de Congestionamento e QoSMauro Tapajós
 

Was ist angesagt? (20)

PostgreSQL Transformando um elefante numa manada
PostgreSQL Transformando um elefante numa manadaPostgreSQL Transformando um elefante numa manada
PostgreSQL Transformando um elefante numa manada
 
Clustering Domino8.5
Clustering Domino8.5Clustering Domino8.5
Clustering Domino8.5
 
Alta disponibilidade com PostgreSQL
Alta disponibilidade com PostgreSQLAlta disponibilidade com PostgreSQL
Alta disponibilidade com PostgreSQL
 
controle de banda
controle de bandacontrole de banda
controle de banda
 
Tecnologias Netflix OSS
Tecnologias Netflix OSSTecnologias Netflix OSS
Tecnologias Netflix OSS
 
Tópicos - Redes para Cluster de Alta Performance
Tópicos - Redes para Cluster de Alta PerformanceTópicos - Redes para Cluster de Alta Performance
Tópicos - Redes para Cluster de Alta Performance
 
Linux Servidor Proxy(squid)
Linux Servidor Proxy(squid)Linux Servidor Proxy(squid)
Linux Servidor Proxy(squid)
 
Implementação de Servidor Linux Ubuntu Server
Implementação de Servidor Linux Ubuntu ServerImplementação de Servidor Linux Ubuntu Server
Implementação de Servidor Linux Ubuntu Server
 
UNIFAL - MySQL Logs - 5.0/5.6
UNIFAL - MySQL Logs - 5.0/5.6UNIFAL - MySQL Logs - 5.0/5.6
UNIFAL - MySQL Logs - 5.0/5.6
 
Servidor Proxy Squid
Servidor Proxy SquidServidor Proxy Squid
Servidor Proxy Squid
 
GlusterFs
GlusterFsGlusterFs
GlusterFs
 
Alta Disponibilidade utilizando Pacemaker e DRBD
Alta Disponibilidade utilizando Pacemaker e DRBDAlta Disponibilidade utilizando Pacemaker e DRBD
Alta Disponibilidade utilizando Pacemaker e DRBD
 
Servidor proxy Squid
Servidor proxy SquidServidor proxy Squid
Servidor proxy Squid
 
Cache Content 3 Layers
Cache Content 3 LayersCache Content 3 Layers
Cache Content 3 Layers
 
Luarocks 2.0 - talk at Lua Workshop 2009
Luarocks 2.0 - talk at Lua Workshop 2009Luarocks 2.0 - talk at Lua Workshop 2009
Luarocks 2.0 - talk at Lua Workshop 2009
 
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
 
Cluster de Alta disponibilidade
Cluster de Alta disponibilidadeCluster de Alta disponibilidade
Cluster de Alta disponibilidade
 
MySQL 5.7 Multi-Source Replication
MySQL 5.7 Multi-Source ReplicationMySQL 5.7 Multi-Source Replication
MySQL 5.7 Multi-Source Replication
 
Redes de computadores II - 6.Noções de Controle de Congestionamento e QoS
Redes de computadores II - 6.Noções de Controle de Congestionamento e QoSRedes de computadores II - 6.Noções de Controle de Congestionamento e QoS
Redes de computadores II - 6.Noções de Controle de Congestionamento e QoS
 
Clusters
ClustersClusters
Clusters
 

Andere mochten auch

Homologação de ambiente de alta disponibilidade para os sistemas SIG da UFRN
Homologação de ambiente de alta disponibilidade para os sistemas SIG da UFRNHomologação de ambiente de alta disponibilidade para os sistemas SIG da UFRN
Homologação de ambiente de alta disponibilidade para os sistemas SIG da UFRNEdmilson Júnior
 
Apostila redes locais de computadores
Apostila redes locais de computadoresApostila redes locais de computadores
Apostila redes locais de computadoresfernandao777
 
Engenharia de Software II - Atividade: Diagramas da UML
Engenharia de Software II - Atividade: Diagramas da UMLEngenharia de Software II - Atividade: Diagramas da UML
Engenharia de Software II - Atividade: Diagramas da UMLAlessandro Almeida
 
Normalização de dados - Primeira forma normal
Normalização de dados - Primeira forma normalNormalização de dados - Primeira forma normal
Normalização de dados - Primeira forma normalvitorleyva
 
Ciclo de Vida Clássico da Engenharia de Software
Ciclo de Vida Clássico da Engenharia de SoftwareCiclo de Vida Clássico da Engenharia de Software
Ciclo de Vida Clássico da Engenharia de SoftwareEduardo Santos
 
Introdução à Engenharia de Software e UML
Introdução à Engenharia de Software e UMLIntrodução à Engenharia de Software e UML
Introdução à Engenharia de Software e UMLNatanael Simões
 
Aritmetica Computacional
Aritmetica ComputacionalAritmetica Computacional
Aritmetica Computacionalelliando dias
 
Verificação e validação de software
Verificação e validação de softwareVerificação e validação de software
Verificação e validação de softwareLeonardo Melo Santos
 
Linguagem de programação
Linguagem de programação Linguagem de programação
Linguagem de programação Marcos Gregorio
 
Resumo itil v3 para concursos
Resumo itil v3 para concursosResumo itil v3 para concursos
Resumo itil v3 para concursosFernando Palma
 
Conceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de softwareConceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de softwareRonney Moreira de Castro
 
Tipos de cabos
Tipos de cabosTipos de cabos
Tipos de cabosBrunoXina
 
Sistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaSistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaAdriano Teixeira de Souza
 
Gerenciamento de Memoria
Gerenciamento de MemoriaGerenciamento de Memoria
Gerenciamento de Memoriaaudineisilva1
 
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplina
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplinaFundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplina
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplinaHelder Lopes
 
Arquitetura de computadores – memórias
Arquitetura de computadores – memóriasArquitetura de computadores – memórias
Arquitetura de computadores – memóriasElaine Cecília Gatto
 
Conjunto de instruções mips - introdução
Conjunto de instruções mips - introduçãoConjunto de instruções mips - introdução
Conjunto de instruções mips - introduçãoElaine Cecília Gatto
 
Redes de computadores II - 3.Roteamento
Redes de computadores II - 3.RoteamentoRedes de computadores II - 3.Roteamento
Redes de computadores II - 3.RoteamentoMauro Tapajós
 

Andere mochten auch (20)

Homologação de ambiente de alta disponibilidade para os sistemas SIG da UFRN
Homologação de ambiente de alta disponibilidade para os sistemas SIG da UFRNHomologação de ambiente de alta disponibilidade para os sistemas SIG da UFRN
Homologação de ambiente de alta disponibilidade para os sistemas SIG da UFRN
 
VPN - Redes de Computadores
VPN - Redes de ComputadoresVPN - Redes de Computadores
VPN - Redes de Computadores
 
Apostila redes locais de computadores
Apostila redes locais de computadoresApostila redes locais de computadores
Apostila redes locais de computadores
 
Engenharia de Software II - Atividade: Diagramas da UML
Engenharia de Software II - Atividade: Diagramas da UMLEngenharia de Software II - Atividade: Diagramas da UML
Engenharia de Software II - Atividade: Diagramas da UML
 
Normalização de dados - Primeira forma normal
Normalização de dados - Primeira forma normalNormalização de dados - Primeira forma normal
Normalização de dados - Primeira forma normal
 
Ciclo de Vida Clássico da Engenharia de Software
Ciclo de Vida Clássico da Engenharia de SoftwareCiclo de Vida Clássico da Engenharia de Software
Ciclo de Vida Clássico da Engenharia de Software
 
Introdução à Engenharia de Software e UML
Introdução à Engenharia de Software e UMLIntrodução à Engenharia de Software e UML
Introdução à Engenharia de Software e UML
 
Aritmetica Computacional
Aritmetica ComputacionalAritmetica Computacional
Aritmetica Computacional
 
Verificação e validação de software
Verificação e validação de softwareVerificação e validação de software
Verificação e validação de software
 
Linguagem de programação
Linguagem de programação Linguagem de programação
Linguagem de programação
 
Resumo itil v3 para concursos
Resumo itil v3 para concursosResumo itil v3 para concursos
Resumo itil v3 para concursos
 
Conceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de softwareConceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de software
 
Protocolos de Redes
Protocolos de RedesProtocolos de Redes
Protocolos de Redes
 
Tipos de cabos
Tipos de cabosTipos de cabos
Tipos de cabos
 
Sistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaSistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e Paralela
 
Gerenciamento de Memoria
Gerenciamento de MemoriaGerenciamento de Memoria
Gerenciamento de Memoria
 
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplina
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplinaFundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplina
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplina
 
Arquitetura de computadores – memórias
Arquitetura de computadores – memóriasArquitetura de computadores – memórias
Arquitetura de computadores – memórias
 
Conjunto de instruções mips - introdução
Conjunto de instruções mips - introduçãoConjunto de instruções mips - introdução
Conjunto de instruções mips - introdução
 
Redes de computadores II - 3.Roteamento
Redes de computadores II - 3.RoteamentoRedes de computadores II - 3.Roteamento
Redes de computadores II - 3.Roteamento
 

Ähnlich wie Ferramentas livres para alta disponibilidade de sistemas web java

Replicação e alta disponibilidade by wagner bianchi -
Replicação e alta disponibilidade by wagner bianchi -Replicação e alta disponibilidade by wagner bianchi -
Replicação e alta disponibilidade by wagner bianchi -MySQL Brasil
 
Containers em produção!
Containers em produção!Containers em produção!
Containers em produção!Evandro Couto
 
Oracle Real Application Clusters
Oracle Real Application ClustersOracle Real Application Clusters
Oracle Real Application Clusters4Partner
 
Virtualização de Cluster na plataforma Microsoft.
Virtualização de Cluster na plataforma Microsoft.Virtualização de Cluster na plataforma Microsoft.
Virtualização de Cluster na plataforma Microsoft.Jaguaraci Silva
 
MySQL + Java - Manuel Contreras
MySQL + Java - Manuel ContrerasMySQL + Java - Manuel Contreras
MySQL + Java - Manuel ContrerasMySQL Brasil
 
Usando Hyper-v 2012 para virtualização do SQL Server
Usando Hyper-v 2012 para virtualização do SQL ServerUsando Hyper-v 2012 para virtualização do SQL Server
Usando Hyper-v 2012 para virtualização do SQL Serverleorsilva
 
Desenvolvendo aplicações Web escaláveis
Desenvolvendo aplicações Web escaláveisDesenvolvendo aplicações Web escaláveis
Desenvolvendo aplicações Web escaláveiselliando dias
 
Deploying infrastructure as-a-service with cloudstack
Deploying infrastructure as-a-service with cloudstackDeploying infrastructure as-a-service with cloudstack
Deploying infrastructure as-a-service with cloudstackLorscheider Santiago
 
Cloud computing & Cloudstack: Como ter sua nuvem sem tempestades
Cloud computing & Cloudstack: Como ter sua nuvem sem tempestadesCloud computing & Cloudstack: Como ter sua nuvem sem tempestades
Cloud computing & Cloudstack: Como ter sua nuvem sem tempestadesRicardo Martins ☁
 
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018Renato Groff
 
Segurança em Plataforma Microsoft
Segurança em Plataforma MicrosoftSegurança em Plataforma Microsoft
Segurança em Plataforma MicrosoftUilson Souza
 
Testes em aplicações JEE: Montando sua infra de testes automatizados
Testes em aplicações JEE: Montando sua infra de testes automatizadosTestes em aplicações JEE: Montando sua infra de testes automatizados
Testes em aplicações JEE: Montando sua infra de testes automatizadosDiego Santos
 
Tópicos - Computacao Paralela Intalação Cluster Beowulf
Tópicos - Computacao Paralela Intalação Cluster BeowulfTópicos - Computacao Paralela Intalação Cluster Beowulf
Tópicos - Computacao Paralela Intalação Cluster BeowulfLuiz Arthur
 
Aws sao paulo summit 2015 elasti cache avancado
Aws sao paulo summit 2015   elasti cache avancadoAws sao paulo summit 2015   elasti cache avancado
Aws sao paulo summit 2015 elasti cache avancadoAmazon Web Services LATAM
 
Lighting Talk - Apache Cassandra
Lighting Talk - Apache CassandraLighting Talk - Apache Cassandra
Lighting Talk - Apache CassandraRafael Domingues
 
Docker | Meetspark - #2
Docker | Meetspark - #2Docker | Meetspark - #2
Docker | Meetspark - #2Lucas Martins
 
Docker Swarm - Sua aplicação pronta para escalar
Docker Swarm - Sua aplicação pronta para escalarDocker Swarm - Sua aplicação pronta para escalar
Docker Swarm - Sua aplicação pronta para escalargustavomtborges
 
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...tdc-globalcode
 

Ähnlich wie Ferramentas livres para alta disponibilidade de sistemas web java (20)

Replicação e alta disponibilidade by wagner bianchi -
Replicação e alta disponibilidade by wagner bianchi -Replicação e alta disponibilidade by wagner bianchi -
Replicação e alta disponibilidade by wagner bianchi -
 
Containers em produção!
Containers em produção!Containers em produção!
Containers em produção!
 
Sistemas Distribuídos - Clusters
Sistemas Distribuídos - ClustersSistemas Distribuídos - Clusters
Sistemas Distribuídos - Clusters
 
Oracle Real Application Clusters
Oracle Real Application ClustersOracle Real Application Clusters
Oracle Real Application Clusters
 
Flisol 2015
Flisol 2015 Flisol 2015
Flisol 2015
 
Virtualização de Cluster na plataforma Microsoft.
Virtualização de Cluster na plataforma Microsoft.Virtualização de Cluster na plataforma Microsoft.
Virtualização de Cluster na plataforma Microsoft.
 
MySQL + Java - Manuel Contreras
MySQL + Java - Manuel ContrerasMySQL + Java - Manuel Contreras
MySQL + Java - Manuel Contreras
 
Usando Hyper-v 2012 para virtualização do SQL Server
Usando Hyper-v 2012 para virtualização do SQL ServerUsando Hyper-v 2012 para virtualização do SQL Server
Usando Hyper-v 2012 para virtualização do SQL Server
 
Desenvolvendo aplicações Web escaláveis
Desenvolvendo aplicações Web escaláveisDesenvolvendo aplicações Web escaláveis
Desenvolvendo aplicações Web escaláveis
 
Deploying infrastructure as-a-service with cloudstack
Deploying infrastructure as-a-service with cloudstackDeploying infrastructure as-a-service with cloudstack
Deploying infrastructure as-a-service with cloudstack
 
Cloud computing & Cloudstack: Como ter sua nuvem sem tempestades
Cloud computing & Cloudstack: Como ter sua nuvem sem tempestadesCloud computing & Cloudstack: Como ter sua nuvem sem tempestades
Cloud computing & Cloudstack: Como ter sua nuvem sem tempestades
 
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018
 
Segurança em Plataforma Microsoft
Segurança em Plataforma MicrosoftSegurança em Plataforma Microsoft
Segurança em Plataforma Microsoft
 
Testes em aplicações JEE: Montando sua infra de testes automatizados
Testes em aplicações JEE: Montando sua infra de testes automatizadosTestes em aplicações JEE: Montando sua infra de testes automatizados
Testes em aplicações JEE: Montando sua infra de testes automatizados
 
Tópicos - Computacao Paralela Intalação Cluster Beowulf
Tópicos - Computacao Paralela Intalação Cluster BeowulfTópicos - Computacao Paralela Intalação Cluster Beowulf
Tópicos - Computacao Paralela Intalação Cluster Beowulf
 
Aws sao paulo summit 2015 elasti cache avancado
Aws sao paulo summit 2015   elasti cache avancadoAws sao paulo summit 2015   elasti cache avancado
Aws sao paulo summit 2015 elasti cache avancado
 
Lighting Talk - Apache Cassandra
Lighting Talk - Apache CassandraLighting Talk - Apache Cassandra
Lighting Talk - Apache Cassandra
 
Docker | Meetspark - #2
Docker | Meetspark - #2Docker | Meetspark - #2
Docker | Meetspark - #2
 
Docker Swarm - Sua aplicação pronta para escalar
Docker Swarm - Sua aplicação pronta para escalarDocker Swarm - Sua aplicação pronta para escalar
Docker Swarm - Sua aplicação pronta para escalar
 
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
 

Mehr von Adriel Viana

Infrastructure as Code, A arte de programar sua infraestrutura
Infrastructure as Code, A arte de programar sua infraestruturaInfrastructure as Code, A arte de programar sua infraestrutura
Infrastructure as Code, A arte de programar sua infraestruturaAdriel Viana
 
Infraestrutura Ágil: como isso pode melhorar a vida de um sysadmin?
Infraestrutura Ágil: como isso pode melhorar a vida de um sysadmin?Infraestrutura Ágil: como isso pode melhorar a vida de um sysadmin?
Infraestrutura Ágil: como isso pode melhorar a vida de um sysadmin?Adriel Viana
 
SOFTWARE FREEDOM DAY 2014 - GERÊNCIA DE CONFIGURAÇÃO COM PUPPET
SOFTWARE FREEDOM DAY 2014 - GERÊNCIA DE CONFIGURAÇÃO COM PUPPETSOFTWARE FREEDOM DAY 2014 - GERÊNCIA DE CONFIGURAÇÃO COM PUPPET
SOFTWARE FREEDOM DAY 2014 - GERÊNCIA DE CONFIGURAÇÃO COM PUPPETAdriel Viana
 
Minicurso EPOTI: Automação de Infraestrutura com PUPPET.
Minicurso EPOTI: Automação de Infraestrutura com PUPPET.Minicurso EPOTI: Automação de Infraestrutura com PUPPET.
Minicurso EPOTI: Automação de Infraestrutura com PUPPET.Adriel Viana
 
MONOGRAFIA - ESTUDO DE VIABILIDADE DE SERVIDORES EM CLUSTER PARA ALTA DISPONI...
MONOGRAFIA - ESTUDO DE VIABILIDADE DE SERVIDORES EM CLUSTER PARA ALTA DISPONI...MONOGRAFIA - ESTUDO DE VIABILIDADE DE SERVIDORES EM CLUSTER PARA ALTA DISPONI...
MONOGRAFIA - ESTUDO DE VIABILIDADE DE SERVIDORES EM CLUSTER PARA ALTA DISPONI...Adriel Viana
 
Ipv6: O futuro da Internet
Ipv6: O futuro da InternetIpv6: O futuro da Internet
Ipv6: O futuro da InternetAdriel Viana
 

Mehr von Adriel Viana (7)

Infrastructure as Code, A arte de programar sua infraestrutura
Infrastructure as Code, A arte de programar sua infraestruturaInfrastructure as Code, A arte de programar sua infraestrutura
Infrastructure as Code, A arte de programar sua infraestrutura
 
Infraestrutura Ágil: como isso pode melhorar a vida de um sysadmin?
Infraestrutura Ágil: como isso pode melhorar a vida de um sysadmin?Infraestrutura Ágil: como isso pode melhorar a vida de um sysadmin?
Infraestrutura Ágil: como isso pode melhorar a vida de um sysadmin?
 
SOFTWARE FREEDOM DAY 2014 - GERÊNCIA DE CONFIGURAÇÃO COM PUPPET
SOFTWARE FREEDOM DAY 2014 - GERÊNCIA DE CONFIGURAÇÃO COM PUPPETSOFTWARE FREEDOM DAY 2014 - GERÊNCIA DE CONFIGURAÇÃO COM PUPPET
SOFTWARE FREEDOM DAY 2014 - GERÊNCIA DE CONFIGURAÇÃO COM PUPPET
 
Minicurso EPOTI: Automação de Infraestrutura com PUPPET.
Minicurso EPOTI: Automação de Infraestrutura com PUPPET.Minicurso EPOTI: Automação de Infraestrutura com PUPPET.
Minicurso EPOTI: Automação de Infraestrutura com PUPPET.
 
MONOGRAFIA - ESTUDO DE VIABILIDADE DE SERVIDORES EM CLUSTER PARA ALTA DISPONI...
MONOGRAFIA - ESTUDO DE VIABILIDADE DE SERVIDORES EM CLUSTER PARA ALTA DISPONI...MONOGRAFIA - ESTUDO DE VIABILIDADE DE SERVIDORES EM CLUSTER PARA ALTA DISPONI...
MONOGRAFIA - ESTUDO DE VIABILIDADE DE SERVIDORES EM CLUSTER PARA ALTA DISPONI...
 
Ipv6: O futuro da Internet
Ipv6: O futuro da InternetIpv6: O futuro da Internet
Ipv6: O futuro da Internet
 
O Método Kanban
O Método KanbanO Método Kanban
O Método Kanban
 

Ferramentas livres para alta disponibilidade de sistemas web java

  • 1. Software Freedom Day 2012 – Teresina Utilizando ferramentas livres para a alta disponibilidade de sistemas web java Adriel Lucas
  • 2. 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)
  • 3. Roteiro ● Introdução ● Cenário de Alta disponibilidade ● Tomcat-Cluster ● Balanceamento de Carga com Apache ● Replicação de dados com Mysql;
  • 4. Introdução Da pra prover alta disponibilidade de BD? É muito caro? É fácil ter alta disponibilidade em sistemas web? Qual é o objetivo desta oficina?
  • 6. Tomcat-Cluster TOMCAT-CLUSTER Sessões Tomcat A Tomcat B ➔ 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” >;
  • 7. Tomcat-Cluster TOMCAT-CLUSTER Sessões Tomcat A Tomcat B ➔ 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;
  • 11. Balanceamento de Carga com Apache ➢ Mod_proxy ➢ Mod_proxy_balancer
  • 12. Balanceamento de Carga com Apache (Configuração)
  • 14. 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