Pergunta

Isso é algo sobre o qual sempre me perguntei. Entendo que a escala horizontal é adicionar mais máquinas à mistura. Mas posso pensar em duas abordagens para isso. Suponha que eu tenha 20 servidores que quero usar (mais um banco de dados). Eu posso:

  1. Faça com que todos os 20 servidores sejam executados como servidores de aplicativos.
  2. Faça com que os servidores diferentes façam partes diferentes de uma tarefa. Por exemplo, peça a um conjunto de servidores lidar com a solicitação, depois outro conjunto para aplicar a lógica de negócios e depois outro para fazer a chamada do banco de dados.

O número 1 parece ser mais comum e mais fácil de entender, mas o número 2 parece ser considerado "melhor prática" (como é principalmente uma arquitetura de camada n). Como se escolhe entre esses dois modelos? E quais são os prós e contras de cada abordagem?

Foi útil?

Solução

Depende da tarefa e quais seriam seus gargalos.

Quase sem exceção, você precisará de pelo menos dois tipos de servidor: 1) aplicativo e 2) banco de dados. Se você distribuir os servidores de aplicativos, ainda precisará sincronizar dados entre eles, tornando um desses servidores (ou um servidor separado) ser o seu servidor de banco de dados.

Se você sabe que o banco de dados não será atingido com muito tráfego (por exemplo: você está executando um site baseado em bate-papo ao vivo, e não há muitos dados permanentemente armazenados ou sincronizados), a escolha de fazer nada além de servidores de aplicativos pode estar bem.

A opção 2 é melhor, no entanto, para a maioria dos sites, especialmente se você não souber com antecedência quais servidores se tornarão gargalos. Se você não permitir que cada tipo de servidor escala, ficará preso a reescrever o código -fonte durante surtos de crescimento inesperados. Então você terá que tomar decisões difíceis como "Quais recursos devemos desativar para que o site ainda possa funcionar enquanto trabalhamos em escalar?"

Honestamente, porém, eu não gastaria muito tempo me preocupando com a escalabilidade. Depois de chegar a um ponto em que o seu servidor está ficando muito alto, você poderá pagar algumas reescritas de origem. Por meio de fontes de financiamento recém -descobertas ou por lucros diretos do site. Caso em questão: o Twitter ainda está indo muito bem.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top