| Algoritmo | Sinal usado | Quando tende a ajudar | Principal limitação |
|---|---|---|---|
| Round Robin | Ordem sequencial | Backends homogêneos e pedidos semelhantes | Não observa trabalho, latência ou conexões ativas |
| Weighted Round Robin | Ordem + pesos | Capacidades diferentes e canary | Peso não é medição dinâmica de saturação |
| Least Connections | Conexões ativas | Sessões de duração variável | Conexão pode estar ociosa ou multiplexar pedidos |
| Least Outstanding Requests | Pedidos em andamento | HTTP com duração muito variável | Não mede sozinho o custo futuro do pedido |
| Least Time | Latência observada + conexões | APIs sensíveis à latência | Pode sofrer com médias, outliers e feedback |
| IP Hash | IP do cliente | Afinidade simples para legado | NAT e proxies podem concentrar muitos usuários |
| Generic Hash | Chave definida pelo operador | Cache, tenant ou estado localizado | Chaves quentes criam hotspots |
| Consistent Hashing | Chave + remapeamento reduzido | Cache e estado duran |
| Pergunta operacional | Layer 4 | Layer 7 |
|---|---|---|
| O que costuma observar? | IP, porta, protocolo e fluxo | URL, host, método, cabeçalhos, cookies e conteúdo HTTP/gRPC |
| Unidade típica | Conexão ou fluxo | Requisição ou sessão de aplicação |
| Protocolos comuns | TCP, UDP, TLS e protocolos proprietários | HTTP, HTTPS e gRPC |
| Roteamento por caminho? | Não | Sim |
| Terminação TLS? | Pode ocorrer ou não, conforme o listener | É comum em HTTPS |
| Melhor encaixe | Conexões persistentes e protocolos não HTTP | APIs, sites e microsserviços HTTP |
| Principal trade-off | Menor visibilidade da aplicação | Maior processamento, mas decisões mais inteligentes |
| Elemento do contrato | Exemplo |
|---|---|
| Pré-condição | O usuário precisa estar autenticado e o pedido deve conter pelo menos um item. |
| Formato de entrada | Cada item deve possuir productId e quantity, sendo a quantidade um número inteiro maior que zero. |
| Pós-condição | Em caso de sucesso, a API retorna 201 Created e um pedido com id, status e total. |
| Garantia de erro | Dados inválidos geram 400; usuário não autenticado gera 401; conflito de estoque pode gerar 409. |
| Invariante | O total do pedido não pode ser negativo e o status deve pertencer a um conjunto conhecido. |
| Indicador de Mercado | Métrica Observada | Participação Percentual / Relevância |
|---|---|---|
| Total de Vagas Analisadas | 6.498 | 100% do escopo auditado |
| Vagas com "Frontend" no Título | 24 | ~0,37% do total |
| Vagas Exigindo Frameworks Modernos | 429 | ~6,60% do total analisado |
| Vagas com Frameworks sem o Título "Frontend" | 407 | ~94,86% das vagas com stack moderna |
| Diversidade de Títulos Alternativos | 307 cargos | Distribuídos em 68 empresas |