4000.1075 + 55 (11) 3995.7905 + 55 (41) 2141.1800
webmail.
painel.
Esqueci a senha

Soluções

Serviços sob medida para sua empresa

Sistemas escaláveis na nuvem com replicação e balanceamento de carga

A agilidade da computação em nuvem permite a criação de estruturas que podem ser escaladas continuamente para absorver o crescimento das aplicações. Para isso, é fundamental a adoção de um modelo de hospedagem adequado aliado a boas práticas de programação.

Via de regra, uma aplicação web é implantada inicialmente segundo um dos modelos a seguir:

Cenário de uma aplicação WEB

A opção tradicional para escalabilidade de aplicações web e bancos de dados é baseada em cluster ativo-ativo com shared storage e heartbeat entre servidores. Contudo, essa alternativa tem um custo elevado de licenciamento e de manutenção.

Por outro lado, a facilidade de provisionamento de servidores virtuais, fornece novos modelos para ganho de escala, como mostrado a seguir:

Cenário de uma aplicação WEB

Para que a aplicação possa tirar proveito desse layout indicamos a adoção das seguintes práticas de programação:

  • A principal ação a ser tomada pelo programador do site é a separação dos métodos de escrita e leitura de dados nos scripts. Isso permite a expansão futura com o uso de balanceamento de carga e replicação master/slave;
  • Outra ação recomendada é a segmentação de dados legados que consiste em criar bases adicionais para guardar os dados menos acessados. Nesse modelo, mantém-se na base principal somente as informações mais recentes (ex.: histórico de pedidos de 2012-2013). Já as informações que vão "esfriando" são passadas para bases adicionais (ex.: histórico de pedidos de 2010-2011, e assim por diante). Em relação à aplicação, a pesquisa do "histórico de pedidos" pode trazer os resultados mais recentes, seguidos de um link do tipo "Pesquisar pedidos anteriores a 2012";
  • Existe ainda o modelo de particionamento conhecido como sharding. Ele consiste em dividir os dados em várias bases usando determinados critérios (ex.: base A com informações de usuários, base B com informações de pedidos) e criar uma lógica de programação que decida para qual base direcionar as consultas. Quando se usa sharding, o método de conexão inicial dos scripts passa ser algo como InformaBancoDadosPara(ID_Usuario).

O uso dessas técnicas em conjunto com os cenários apresentados acima permite eliminar gargalos e proporciona ao desenvolvedor um grande controle sobre a capacidade da aplicação.

Entre em contato conosco pelo 4000.1075, no horário comercial, ou clique aqui e descreva seu projeto para mais informações.

CentralServer - 16 anos
Reconhecimentos CentralServer
Escritórios São Paulo: Av. Paulista, 1765
Curitiba: Rua Iapó, 1458

Data Centers São Paulo
Rio de Janeiro
 

© 2015 CentralServer - Computação em Nuvem Corporativa no Brasil
Proibida a reprodução total ou parcial sem autorização de textos e elementos gráficos deste site. As diversas marcas comerciais pertencem a seus respectivos proprietários.