Blog

Dimensionamento horizontal: espaçamento entre servidores

Ao escolher uma plataforma para um sistema corporativo, as grandes empresas têm pelo menos um critério comum: o desempenho. Se o sistema puder lidar com um máximo de 5.000 sessões de usuários simultâneos e a empresa tiver 20.000 deles, é improvável que esse produto de software seja adequado. Nesse caso, a escalabilidade do sistema entra em jogo.

Escalabilidade é a capacidade de um sistema de aumentar seu desempenho quando o número de recursos alocados a ele aumenta.

Visões de escalonamento

Há dois tipos de dimensionamento: vertical e horizontal.

  • O dimensionamento vertical aumenta o desempenho do aplicativo ao adicionar recursos ao hardware existente. Por exemplo, aumentando a RAM ou substituindo o processador por um mais potente. Nesse caso, a escalabilidade é limitada, pois é muito fácil atingir um teto.
  • Dimensionamento horizontal – aumento do desempenho do aplicativo por meio da distribuição da carga entre o hardware existente e o novo. Desde que seja possível aumentar o número de servidores, é possível aumentar o desempenho e proporcionar um trabalho confortável para mais usuários.

Para que um aplicativo ofereça suporte ao dimensionamento horizontal, o código do aplicativo deve oferecer suporte a um mecanismo para que os servidores se comuniquem e sincronizem entre si. Fornecemos oportunidades para o dimensionamento horizontal, de modo que a plataforma SimpleOne pode ser usada para implementar um projeto com praticamente qualquer nível de carga.

O dimensionamento horizontal dos servidores é realizado em dois níveis:

  1. Dividir o sistema em componentes estruturais menores por funções e distribuí-los em servidores separados.
  2. Dimensionamento dentro de uma função:
    • aumento do número de servidores que executam a mesma função em paralelo;
    • uso de tecnologias modernas. Por exemplo, o dimensionamento do servidor de banco de dados (DB) utiliza replicação, particionamento e sharding.

Neste artigo, discutiremos como o SimpleOne faz o dimensionamento horizontal no primeiro nível – espaçamento entre servidores.

Espaçamento de servidores

O sistema SimpleOne é dividido por funções em quatro grupos: servidor de cliente, servidor de aplicativos, servidor de banco de dados e servidor de armazenamento de arquivos.

Servidor cliente

O servidor do cliente é responsável pela comunicação primária entre o usuário e o aplicativo. Esse servidor permite que o aplicativo seja executado carregando o código necessário para executar o aplicativo: CSS, JS, ReactJS, ConfigJS.

Servidor de aplicativos

Após a interação inicial com o servidor do cliente, todas as solicitações do usuário vão para o servidor de aplicativos. Por exemplo, o usuário deseja uma planilha ou uma lista de botões. O servidor de aplicativos processa a solicitação, pede os dados e os encaminha para o usuário.

Servidor de banco de dados

O servidor de banco de dados mantém e gerencia o banco de dados e é responsável pela integridade e segurança dos dados.

O servidor de banco de dados é o gargalo de desempenho. Para reduzir a carga sobre ele, o SimpleOne armazena arquivos em um servidor separado.

Servidor de armazenamento de arquivos

Os arquivos são armazenados em um armazenamento acessível por meio do protocolo S3.

O Amazon Simple Storage Service (Amazon S3) é um serviço de armazenamento de objetos oferecido por provedores de serviços em nuvem. A principal vantagem da solução é a capacidade de armazenar arquivos de qualquer tipo, de qualquer tamanho, com um alto nível de confiabilidade e disponibilidade.

Quando um arquivo é solicitado, o servidor de aplicativos acessa o armazenamento de arquivos, que gera um token e o passa para o navegador. Por meio do token, o usuário obtém acesso ao objeto no armazenamento de arquivos.

Em geral, as empresas de desenvolvimento não colocam arquivos grandes (vídeos, imagens etc.) em um servidor separado, mas os armazenam em um servidor de banco de dados. A distribuição do armazenamento de dados e arquivos em diferentes servidores tem vantagens:

  • Reduzir a carga no servidor de banco de dados.
  • O armazenamento de arquivos permite que você trabalhe com arquivos mesmo ao dimensionar o servidor de aplicativos. Devido ao uso de tokens, o download de arquivos no cliente não aumenta significativamente a carga no servidor de aplicativos.

Conclusão

A escalabilidade do sistema desempenha um papel importante para as grandes empresas. O dimensionamento horizontal oferece possibilidades quase infinitas de aumentar o desempenho da plataforma ESM SimpleOne, o que a torna adequada para a realização de projetos de alta carga de qualquer nível.

Você ainda tem dúvidas?
Temos um time de consultores especializados nas melhores práticas de mercado
Ao usar este site, você concorda com o uso de cookies