Disponibilidade e escala: três camadas ou duas camadas

2

Comecei a trabalhar em um site de três camadas (UI: MVC / Application: REST / DB), sempre considerei que três níveis são mais escaláveis que dois (tabu para sites de alto tráfego), mas ultimamente eu sabia que alguns sites bem conhecidos são 2 sites de nível 3 e parece estar funcionando muito bem.

Então qual é o negócio, como decidir se dois lhe servirão melhor (em geral) do que três. o site que pretendo construir é público, mas relativamente pequeno e estou esperando um tráfego alto.

Alguma idéia?

    
por simplyasking 29.01.2012 / 15:03

1 resposta

1

Isso requer um pouco de análise de aplicativos. Ao descobrir como um determinado sistema será dimensionado, há algumas perguntas a serem feitas para ajudar a identificar pontos problemáticos de escala:

  1. Se, de repente, vejo uma ordem de grandeza maior, onde vejo problemas e com que rapidez posso resolvê-los?
    1. Que tal duas ordens de magnitude?
  2. Se meu site estiver ativo por um ano com um aumento de magnitude, onde verei problemas devido ao tamanho?

Essas perguntas ajudarão você a descobrir onde os pontos únicos podem estar enganando você e identificar níveis que exigem recursos excessivos para serem dimensionados. Algumas coisas serão difíceis de modelar, como o crescimento do banco de dados de um ano e como isso afeta o desempenho do banco de dados. Outros serão fáceis, como o desempenho do aplicativo de servidor.

Isso ajuda na análise de 2 ou 3 camadas, pois você será informado se precisa separar os dois primeiros níveis, e ajudará a descobrir até que ponto você precisará de um primeiro nível discreto. . Se parecer que duas ordens de magnitude aumentam por um ano causa problemas no primeiro nível, projete seu nível 1/2 para ser dividido mais tarde e faça isso mais tarde, conforme necessário.

    
por 29.01.2012 / 15:24