Endpoints e Services
Visão Geral
Endpoint, também conhecido como Service no Kong Gateway, é uma entidade que representa uma aplicação (serviço, servidor upstream ou API) de destino que o gateway fará o envio e recebimento de dados solicitados pelo consumidor da API. Por exemplo, um endpoint pode ser um microsserviço de dados bancários ou uma API de consulta de dados de fornecedores.
Os serviços são associados a rotas, e um único serviço pode ter várias rotas associadas a ele. As rotas são os pontos de entrada no Gateway. Quando uma rota é correspondida com a lista de rotas existentes no Gateway, ele faz o proxy da solicitação, redirecionando para o endereço configurado no endpoint/service associado.
O principal atributo de um serviço é o URL de destino para o tráfego de proxy. Devido à capacidade de gerenciamento de múltiplos ambientes do DHuO, o cadastro de endpoints/services é feito por ambiente. Assim, é possível configurar e gerenciar a exposição da API para o ambiente de desenvolvimento, com o endpoint https://petstore-dev.io, por exemplo, e para o ambiente de produção, com o endpoint https://petstore.io.
No DHuO, tanto para o DHuO Gateway, quanto para o Kong, o endpoint/service representa e está associado a uma única API.
Configuração
Os endpoints e services são gerenciados pela interface do estúdio da API. A partir da home, acesse o menu > APIs
. Na página de APIs, visualize a API desejada e acesse o menu > Gateway
. Crie ou acesse a configuração do tipo de gateway DHuO Gateway
ou Kong
. Na página de endpoints, eles podem ser cadastrados, editados e excluídos.
Permissões
Por fazerem parte das configurações de políticas de gateway, apenas usuários com papel de administrador da organização (Org Admin) ou provedor de APIs (API Provider) podem gerenciar endpoints e services. Para saber mais, acesse a seção Papéis e permissões.
Parâmetros
Aqui estão os parâmetros para a criação de um endpoint/service:
- Ambiente: Obrigatório. Ambiente do endpoint/service a ser configurado.
- URL: Obrigatório. URL para o serviço de destino que o Gateway fará o redirecionamento das requisições.
- Certificado: Certificado do tipo client, cadastrado no DHuO, utilizado pelo Gateway para acessar um serviço de API que utiliza TLS. Caso o certificado possua certificados de CA associados, eles também serão vinculados à configuração do endpoint/service. Para saber mais sobre certificados, acesse a seção Certificados da Administração do API Manager. É necessário realizar a implantação dos certificados client e de CA no Gateway para essa configuração surtir efeito durante o deploy da API. Para saber mais, acesse a seção Implantação (Deploy) da API.
Configurações avançadas
- Tags: Lista opcional de tags, para agrupamento de cadastros no Gateway.
- Base path: Prefixo opcional para ser adicionado ao path de cada rota associada. Essa configuração permite utilizar uma única instância de Gateway para múltiplos ambientes, evitando conflito de rotas. Por exemplo, caso o Base path seja
dev
e a API possuir uma rota com o path/pets
, o path a ser implantado no gateway será/dev/pets
. Essa configuração é exclusiva do DHuO e não faz parte das configurações nativas do Kong. O base path é aplicado no momento da geração da release de API. - Retries: O número de retentativas a serem executadas em caso de falha no encaminhamento ao servidor de destino.
- Connect Timeout: O tempo limite, em milissegundos, para estabelecer uma conexão com o servidor de destino.
- Read Timeout: O tempo limite, em milissegundos, entre duas operações de leitura sucessivas para a transmissão de uma requisição ao servidor de destino.
- Write Timeout: O tempo limite, em milissegundos, entre duas operações de escrita sucessivas para a transmissão de uma requisição ao servidor de destino.
- TLS Verify: Opção para habilitar a verificação do certificado TLS do servidor de destino. Se definido como vazio, o padrão do Nginx será respeitado.
- TLS Verify Depth: Profundidade máxima da cadeia de certificados durante a verificação do certificado TLS do servidor de destino. Se definido como vazio, o padrão do Nginx será respeitado.
Ao excluir um endpoint/service, todas as configurações de plugins relacionadas a ele serão removidas.