Ferragens  
 
Rede de conhecimento computador >> Ferragens >> Servidores >> Content
Como a solicitação HTTP do cliente roteou para o serviço correto em execução no servidor?
O roteamento de uma solicitação HTTP de um cliente para o serviço correto em um servidor envolve várias etapas e depende muito da arquitetura do servidor. Aqui está um colapso das abordagens comuns:

1. Balanceador de carga (geralmente a primeira parada):

* Muitos sistemas usam um balanceador de carga como ponto de entrada. Este é um servidor dedicado que distribui solicitações recebidas em vários servidores de back -end (os serviços reais). O balanceador de carga decide qual servidor encaminhar a solicitação com base em fatores como carga do servidor, verificações de saúde e potencialmente solicitar características (por exemplo, usando uma técnica chamada roteamento com reconhecimento de conteúdo).
* O balanceador de carga normalmente funciona na camada de rede (camada 4) ou na camada de aplicação (camada 7). Os balanceadores de carga da camada 4 analisam coisas como endereços IP e portas, enquanto os balanceadores de carga da camada 7 inspecionam a própria solicitação HTTP (cabeçalhos, URL etc.) antes de tomar uma decisão de roteamento.

2. Proxy reverso (geralmente após o balanceador de carga):

* Um proxy reverso fica na frente de um ou mais servidores de back -end. Ele recebe solicitações do balanceador de carga (ou diretamente dos clientes se não houver balanceador de carga) e os encaminha para o serviço apropriado.
* Os proxies reversos geralmente lidam com tarefas como armazenamento em cache, terminação SSL (descriptografando o tráfego HTTPS) e a modificação de solicitação antes de passar a solicitação para o back -end.
* Nginx e Apache são exemplos populares de proxies reversos.

3. Roteamento do lado do servidor (dentro do aplicativo):

* Quando a solicitação atingir o servidor (depois de passar por um balanceador de carga e proxy reverso), o próprio servidor precisa determinar qual serviço ou aplicativo específico deve lidar com ele. Isso geralmente é feito usando um dos seguintes métodos:

* Caminho de URL: O método mais comum. O servidor examina o componente do caminho da URL (a peça após o nome do domínio). Por exemplo, `/usuários/123` pode ser roteado para um serviço de usuário, enquanto`/produtos/pesquisa` pode ir a um serviço de catálogo de produtos. Estruturas como Express.js (Node.js), Spring Boot (Java) e Django (Python) fornecem mecanismos para definir rotas com base em caminhos de URL.
* nome do host/domain: Diferentes serviços podem ser implantados em diferentes subdomínios ou nomes de host (por exemplo, `users.example.com` vs.` products.example.com`). O servidor pode usar o nome do host para determinar o serviço apropriado.
* roteamento baseado em cabeçalho: A solicitação pode incluir cabeçalhos contendo informações sobre o serviço pretendido. O servidor pode verificar esses cabeçalhos para rotear a solicitação de acordo.
* Solicitar conteúdo: Em alguns casos, o conteúdo do próprio corpo da solicitação pode determinar qual serviço deve lidar com ele. Isso é menos comum porque requer mais processamento e pode ser menos eficiente.

4. Descoberta de serviço (para arquiteturas de microsserviços):

* Nas arquiteturas de microsserviços, os serviços são frequentemente implantados e dimensionados dinamicamente. Mecanismos de descoberta de serviços, como cônsul, etcd ou kubernetes, ajudam a localizar as instâncias atuais de cada serviço. Quando uma solicitação entra, o mecanismo de roteamento (por exemplo, um proxy reverso ou gateway da API) consulta o sistema de descoberta de serviço para encontrar o endereço da instância de serviço apropriada e encaminhar a solicitação.


em resumo: O processo é uma cadeia de componentes potencialmente múltiplos. Uma solicitação normalmente flui como este:

Cliente -> (Balancero de carga) -> (proxy reverso) -> servidor -> (Descoberta de serviço, se aplicável) -> Serviço específico


A implementação exata depende muito da complexidade do sistema e das tecnologias específicas usadas. Aplicativos simples podem envolver apenas o roteamento do caminho da URL em um único servidor, enquanto os sistemas em larga escala usam uma combinação de balanceadores de carga, proxies reversos, descoberta de serviços e regras de roteamento sofisticadas.

Anterior :

Próximo :
  Os artigos relacionados
·Como adicionar vários usuários ao AD 
·Cooling servidor precisa 
·Qual servidor é um que abrigou o slot no quadro de met…
·Como reiniciar automaticamente um servidor Dell Depois …
·Onde se pode encontrar análises de clientes para servi…
·O que é o servidor DCS? 
·Como determinar o Ar Condicionado necessidades de um Da…
·Como você conecta um servidor Z39.50? 
·Quantos tipos de servidor Exchange? 
·Qual das seguintes funções do Exchange Server requer …
  Artigos em destaque
·Quais são as três opções para atribuir um recurso a…
·Seu iPad desbloqueado está congelando na inicializaçã…
·Qual é a resolução equivalente do monitor PC LCD de …
·O que é o subsistema de memória? 
·Posso receber um aviso Fan CPU on Boot Up 
·Como você instala o HP DeskJet 2050 sem um disco? 
·Configurando um AirPlay em um iPad 
·Como comparar UMPC Celular 
·Windows XP Perdido Mouse Driver & Teclado Problemas 
·Qual é a categoria mínima de cabo necessária para ob…
Cop e direita © Rede de conhecimento computador https://ptcomputador.com Todos os Direitos Reservados