Ao receber uma requisição, o gateway nativo da cloud avalia as regras de roteamento configuradas da maior para a menor prioridade. O gateway encaminha a requisição ao service de destino definido na primeira regra correspondente. Se nenhuma regra for atendida, o gateway retornará o código de status HTTP 404.
Pré-requisitos
Uma instância de gateway nativo da cloud existente.
Um nome de domínio existente para correspondência da rota ou um nome de domínio a ser criado durante a configuração da rota.
Uma source de service existente que forneça o service de backend da rota.
Limites
As seguintes restrições se aplicam à criação de rotas:
Sources de service — Se Source Type estiver definido como MSE Nacos ou MSE Zookeeper, adicione apenas uma source. Para Source Type definido como Container Service, adicione até cinco sources. Quando Source Type for EDAS Built-in Registry ou SAE Built-in Registry, não há limite para o número de sources.
Pesos de tráfego — A soma das porcentagens de tráfego dos services de destino com pesos deve ser igual a 100%.
Fallback — O mecanismo de fallback tem suporte apenas entre services HTTP.
Procedimento
Faça login no console MSE. Na barra de navegação superior, selecione uma região.
No painel de navegação à esquerda, escolha Cloud-native Gateway > Gateways. Na página Gateways, clique em ID do gateway.
No painel de navegação à esquerda, clique em Routes. Na aba Routes, clique em Add Route.
Na página Add Route, configure os parâmetros descritos em Route parameters e clique em Save.
Parâmetros da rota
A tabela a seguir descreve os parâmetros configurados durante a criação de uma rota.
|
Parâmetro |
Descrição |
|
Route Name |
Nome personalizado para a rota. Clique em Add Description para adicionar uma descrição à rota. |
|
Domain Name |
Selecione os nomes de domínio desejados para correspondência da rota. É possível selecionar múltiplos domínios. Para criar um novo domínio, clique em Add Domain Name e crie-o no painel exibido. |
|
Match Rule |
As regras de correspondência são combinadas pelo operador lógico AND. Quanto mais regras especificadas, menor o escopo de requisições correspondentes. Para obter mais informações sobre a classificação das regras de correspondência, consulte Route matching priorities. |
|
Path |
Especifique o parâmetro Path usado para corresponder a requisições HTTP. Se as rotas usarem a mesma regra de correspondência, quanto maior o valor do Path, maior a prioridade. Para rotas com regras diferentes, a prioridade segue esta ordem: Equal To > Prefix > Regular Expression Match. Equal To: correspondência exata. Por exemplo, o valor do Path é igual a |
|
Method |
Defina o parâmetro Method para corresponder a requisições HTTP. Selecione vários métodos HTTP. O valor padrão é ANY. |
|
Header |
Configure o parâmetro Header para corresponder a requisições HTTP. Se as rotas compartilharem a mesma regra de correspondência, a prioridade aumentará conforme o número total de pares chave-valor. |
|
Query Parameters |
Especifique o parâmetro Query usado para corresponder a requisições HTTP. Se a regra de correspondência for idêntica, um maior número de pares chave-valor resultará em maior prioridade. |
|
Scenario |
Escolha o tipo de service de destino para a rota atual. Cenários básicos: Single Service. Cenários de canary release: Multiple Services e Tag-based Routing. Outros cenários: Mock e Redirect. Para obter mais informações sobre os tipos de services de destino, consulte Routing modes. |
|
Backend Service |
Selecione um service de backend associado e uma porta. Clique em Associate Service para escolher uma source e um service no painel aberto. A quantidade de sources permitidas varia conforme o tipo de source. Para obter detalhes, consulte Limits. |
|
Fallback |
Defina um service de fallback conforme a necessidade do seu negócio. Se nenhum nó estiver disponível no service de backend apontado pela rota, a requisição original acessará o service de fallback especificado aqui. |
|
Timeout Period (s) |
Insira o período de timeout. O valor padrão é 60 segundos. O valor 0 indica que a requisição nunca expira. |
|
Number of Retries (times) |
Informe o número de tentativas. O valor padrão é 2. Defina como 0 para desativar as novas tentativas. |
|
Retry Conditions |
Selecione as condições para nova tentativa. |
|
Retry Status Code |
Adicione um ou mais códigos de status para nova tentativa. |
Prioridades de correspondência de rota
Se existirem múltiplas regras de roteamento, elas serão ordenadas da maior para a menor prioridade seguindo esta sequência: Domain Name > Path > request header > Query Parameters > Created At. Aplicam-se as seguintes regras:
Domain Name: Quanto maior a string do nome de domínio, maior a prioridade.
-
Path:
Se a Match Rule for diferente, a prioridade seguirá esta ordem: Equal To > Prefix > Regular Expression Match.
Se a Match Rule for idêntica, quanto maior a string do Path, maior a prioridade.
Header: A prioridade aumenta conforme o número total de pares chave-valor.
Query Parameters: Maior quantidade de pares chave-valor resulta em maior prioridade.
Creation time: Rotas criadas anteriormente possuem maior prioridade.
A prioridade de correspondência das rotas reflete exatamente a ordem em que elas aparecem na página de configuração de rotas.
Referências
Modifique as regras de roteamento a qualquer momento para ajustá-las aos seus cenários reais e às mudanças de requisitos. Para obter instruções, consulte Modify a routing rule.