Esta é a documentação do Apigee Edge.
Acesse
Documentação da Apigee X. informações
O que você vai aprender
Neste tutorial, você aprenderá a:
- Adicione uma política que afete a solicitação e a resposta.
- Veja os efeitos da política.
O que é necessário
- Pelo menos uma política no proxy (também parte do tutorial de primeiros passos).
curl
instalado na máquina para fazer chamadas de API a partir da linha de comando.
Adicionar a política de detenção de pico
Neste tutorial, você verá como adicionar e configurar a política de detenção de pico para proteger o serviço de destino contra picos de tráfego repentinos que podem ser causados por um aumento no uso, clientes problemáticos ou ataques maliciosos. Quando o número de solicitações excede o limite de taxa, a API retorna um erro HTTP 500 para uma solicitação.
Adicione a política de detenção de pico a um proxy de API:
- Faça login em apigee.com/edge.
- Selecione Desenvolvedor > API Proxies na barra de navegação à esquerda.
- Selecione o proxy de API ao qual você quer adicionar a política de detenção de pico.
Se você seguiu o tutorial de primeiros passos, adicione-o ao proxy "getstarted" criado em Criar um proxy de API.
- No editor do novo proxy de API, clique na guia Desenvolver:
Com o editor de proxy de API, você vê a estrutura do proxy de API e configura seu fluxo. O editor apresenta uma representação visual do fluxo de mensagens de solicitação e de resposta do proxy, bem como uma exibição editável do XML subjacente que define o proxy.
- No painel lateral esquerdo do navegador, clique em PreFlow em Proxy Endpoints > padrão. Outros tutoriais abrangem o conceito de fluxos.
- Clique no botão +Step na parte superior, que corresponde ao campo "Request PreFlow". Isso exibirá uma lista categorizada de todas as políticas que podem ser criadas.
- Selecione detenção de pico na categoria "Gerenciamento de tráfego". A caixa de diálogo "Nova política" é exibida:
- Mantenha os nomes padrão e clique em Adicionar. A nova política é anexada ao fluxo PreFlow de uma solicitação.
- No Navegador, verifique se a opção PreFlow em Proxy Endpoints > padrão ainda está selecionada e observe o seguinte na API Proxy Editor:
- A nova política de detenção de pico está adicionada em Políticas no Navegador à esquerda da API Proxy Editor.
- O ícone Spike Arrest-1 será adicionado à visualização de designer no centro superior da API Proxy Editor, que é uma representação visual dos fluxos de mensagens do seu proxy.
- O XML da política é exibido na visualização de código na parte inferior central da API Proxy Editor.
- No Navegador, selecione Spike Arrest-1 em "Políticas" e observe o seguinte na API Proxy Editor:
- Os detalhes da política são exibidos na Visualização de designer na parte superior central da API Proxy Editor.
- O XML da política é exibido na visualização de código na parte inferior central da API Proxy Editor.
- O elemento XML e os valores de atributo da política são exibidos no Inspetor de propriedades no lado direito da API Proxy Editor.
-
No XML da política, altere o valor do elemento
<Rate>
para 1pm, que se traduz em aproximadamente duas solicitações permitidas a cada 60 segundos na nuvem.Você pode especificar a taxa como um valor inteiro por minuto (
pm
) ou por segundo (ps
). Esse é um limite muito baixo e é usado somente para este tutorial para demonstrar a política. Normalmente, você define um limite muito maior.Observe que o valor
Rate
no inspetor Property também muda para "1pm". Se preferir, altere o valor da Taxa no inspetor Property para que ele seja refletido na visualização XML. - Clique em Salvar para salvar a revisão atual com as alterações.
-
Chame a API usando
curl
, substituindo o nome da sua organização no Apigee por org_name:curl "http://org_name-test.apigee.net/getstarted"
Exemplo:
curl "http://ahamilton-eval-test.apigee.net/getstarted" | python -m json.tool
Verifique se a solicitação foi bem-sucedida e se você vê a mesma resposta XML, como fez anteriormente. Você também pode inserir apenas o URL em um navegador da Web.
- Execute o comando
curl
(ou atualize a janela do navegador) duas ou três vezes mais em um minuto e observe que você recebeu a seguinte mensagem porque excedeu o limite de taxa da política:{ "fault": { "faultstring":"Spike arrest violation. Allowed rate : 1pm", "detail": { "errorcode":"policies.ratelimit.SpikeArrestViolation"} } }
Se você tentar fazer mais chamadas dentro de um minuto, continuará a receber a mensagem de falha.
- Edite sua política para definir o limite de <
Rate>
para 15pm (o que se traduz em aproximadamente duas chamadas permitidas a cada quatro segundos na nuvem) e, em seguida, salva o proxy da API. - Execute o comando
curl
ou atualize o navegador repetidamente (curl
é mais rápido). Se você fizer uma ou duas chamadas dentro de intervalos de quatro segundos, as chamadas serão bem-sucedidas. Se você fizer as chamadas rapidamente, mais de duas em menos de quatro segundos, a falha ocorrerá. No entanto, depois de cada intervalo de quatro segundos, é possível continuar fazendo chamadas, em vez de ser bloqueado por um minuto inteiro (com a configuração das 1pm).