Você pode tirar o chapéu para uma de nossas concorrentes por sua brilhante explicação sobre a diferença entre NLB e balanceamento de carga de aplicativos. Você não precisa se preocupar com isso, pois este é um excelente artigo escrito por Lottie (mesmo que ela esteja do outro lado 😉
O balanceamento de carga de aplicativos (que também recebeu outros nomes extravagantes ao longo dos anos, como comutação ou roteamento de conteúdo, comutação de aplicativos, roteamento de aplicativos ou páginas etc.) está realmente focado na distribuição inteligente da carga entre aplicativos. Embora possa usar variáveis de entrada, como endereço IP e porta, geralmente não o faz porque isso não oferece a percepção de qual servidor (aplicativo, Web, virtual, o que for) será capaz de responder (tem capacidade) em um período de tempo aceitável para a empresa (tempo de resposta) para um aplicativo específico (ou parte do aplicativo, como imagens).
A diferença entre os dois está principalmente nas variáveis usadas para distribuir a carga. O balanceamento de carga da rede depende exclusivamente das variáveis da rede, enquanto o balanceamento de carga do aplicativo depende principalmente das variáveis do aplicativo.
Essa mudança nas técnicas de balanceamento de carga abriu todos os tipos de novas eficiências e opções de escalabilidade, pois permitiu que as arquiteturas se especializassem (solicitações de roteamento de imagens para servidores focados em servir imagens, solicitações de conteúdo estático para servidores focados em servir conteúdo estático etc.). Também possibilitou a persistência (sessões fixas), o que acelerou muito a capacidade de dimensionar aplicativos com estado em um formato da Web.