Todos os produtos
Search
Central de documentação

API Gateway:ZooKeeper

Última atualização: Jun 27, 2026

Integre o ZooKeeper ao API Gateway para descoberta de serviços e permita que o API Gateway roteie automaticamente as requisições para os microsserviços de backend registrados no ZooKeeper.

Visão geral

Este tópico aborda os seguintes assuntos:

  • Funcionamento

  • Criação de uma instância dedicada com integração vpc (apenas instâncias com integração vpc suportam o ZooKeeper)

  • Implantação do serviço ZooKeeper e registro de uma aplicação de microsserviços

  • Criação de um grupo de APIs

  • Criação de um serviço de backend

  • Criação de uma API

  • Criação de uma aplicação e autorização para chamar a API

  • Depuração da API

Funcionamento

O ZooKeeper armazena dados em uma estrutura de árvore semelhante a um sistema de arquivos. Cada nó possui um caminho de acesso exclusivo, como /provider/service. Os provedores de serviços registram informações sobre instâncias de microsserviços nos nós de serviço do ZooKeeper. O API Gateway monitora esses nós, analisa endereços ip e portas e distribui as requisições dos clientes para as instâncias de microsserviços de backend com base em políticas de balanceamento de carga.

image
  1. Os provedores de serviços registram instâncias de microsserviços nos nós de serviço do ZooKeeper.

  2. O API Gateway monitora os nós e seus nós filhos com base nos caminhos de acesso e analisa as informações das instâncias de microsserviços armazenadas nesses nós, como endereço ip e número da porta da instância. Endereços ip e números de porta ficam em cache no API Gateway para reduzir a sobrecarga de comunicação.

  3. Ao receber uma requisição do cliente, o API Gateway obtém um endereço ip e um número de porta do cache e encaminha a requisição para o servidor de microsserviços correspondente. Em seguida, o API Gateway recebe uma resposta do servidor e a encaminha para o cliente.

  4. Se houver alteração nas informações da aplicação de microsserviços, por exemplo, se uma instância ficar offline ou uma nova instância for adicionada, o ZooKeeper sincroniza essa mudança com o API Gateway. O API Gateway atualiza as informações em seu cache para garantir a consistência entre ele e o ZooKeeper.

  5. Quando outra requisição de cliente é recebida, o API Gateway roteia e encaminha a requisição com base nas informações atualizadas.

Importante

O API Gateway se comunica com o ZooKeeper e com as instâncias de microsserviços por meio de Virtual Private Clouds (VPCs). Portanto, configure um endereço interno como endereço de serviço do ZooKeeper ao criar uma API. Caso contrário, o API Gateway retorna uma exceção de endereço inválido do ZooKeeper. Pelo mesmo motivo, registre urls internas como urls das aplicações de microsserviços de backend no ZooKeeper. Se o API Gateway obter uma url pública do ZooKeeper após receber uma requisição de API, ele não conseguirá processar a requisição. Em vez disso, o API Gateway retorna o código de erro I504IA. Se o API Gateway não conseguir obter nenhuma url de microsserviço do ZooKeeper, ele retorna o código de erro I504BA.

Etapa 1: Criar uma instância com integração vpc

O API Gateway se comunica com o ZooKeeper e com aplicações de microsserviços por redes internas. Instâncias dedicadas convencionais não suportam redes internas personalizadas; por isso, a instância com integração vpc foi criada para permitir a comunicação direta entre o API Gateway e as VPCs do usuário. Para mais informações sobre como criar uma instância com integração vpc, consulte Instância dedicada com integração vpc.

Etapa 2: Implantar o serviço ZooKeeper e registrar uma aplicação de microsserviços no ZooKeeper

  1. Implante o serviço ZooKeeper.

Implante o ZooKeeper na mesma vpc, zona e vSwitch da instância com integração vpc criada. É possível implantar o serviço nativo do ZooKeeper em uma instância do Elastic Compute Service (ecs) na vSwitch. Assim, defina o endereço de acesso do ZooKeeper como Endereço ip interno da instância ecs: Porta do ZooKeeper. Ao criar uma instância ecs, defina Network como vpc e selecione a mesma vpc, zona e vSwitch escolhidas ao criar a instância com integração vpc.

Nota

Para mais informações sobre como implantar o ZooKeeper, consulte Guia de introdução ao ZooKeeper. Para mais informações sobre como criar uma instância ecs, consulte Instruções de compra.

Também é possível usar o alibaba cloud Microservice Engine (MSE) para implantar um serviço ZooKeeper. Ao fazer isso, defina o tipo de rede como vpc e selecione a mesma vpc e vSwitch da instância com integração vpc criada. Após a implantação do serviço ZooKeeper, visualize seu endpoint na lista de instâncias do MSE.

Nota

Para mais informações sobre como implantar um serviço ZooKeeper usando o MSE, consulte Criar um mecanismo ZooKeeper.

  1. Registre uma aplicação de microsserviços.

Implante a aplicação de microsserviços na mesma vpc, zona e vSwitch da instância com integração vpc criada. Isso garante que a aplicação de microsserviços seja registrada no serviço ZooKeeper e acessada pelo API Gateway. Escolha implantar a aplicação de microsserviços em uma instância ecs. A instância ecs deve ser criada na mesma vSwitch da instância com integração vpc criada.

Use o seguinte formato para as informações da aplicação de microsserviços registrada no ZooKeeper:

{
    "address":"localhost",
    "enabled":true,
    "id":"cb1467f745c64d9f8cbfa5c2bd217cb8",
    "name":"provider",
    "payload":{

    },
    "port":8080,
    "registrationTimeUTC":1699525871398,
    "serviceType":"DYNAMIC",
    "sslPort":443,
    "uriSpec":{
        "parts":[
            {
                "value":"scheme",
                "variable":true
            },
            {
                "value":"://",
                "variable":false
            },
            {
                "value":"address",
                "variable":true
            },
            {
                "value":":",
                "variable":false
            },
            {
                "value":"port",
                "variable":true
            }
        ]
    }
}
Nota

Para a estrutura dos dados armazenados nos nós do ZooKeeper, consulte a classe org.apache.curator.x.discovery.ServiceInstance fornecida pelo projeto open source Apache Curator. Observe que uriSpec não pode ficar vazio. Recomendamos configurar como {scheme}://{address}:{port}. Se quiser usar o protocolo https, configure o atributo sslPort.

Importante

Formatos de dados inválidos podem impedir que o API Gateway analise os endereços de backend das instâncias de microsserviços. As aplicações de microsserviços registradas no ZooKeeper devem suportar chamadas http.

Etapa 3: Criar um grupo de APIs

As APIs são gerenciadas em grupos. Crie um grupo de APIs antes de criar uma API.

  1. Faça login no console do API Gateway.

  2. No painel de navegação à esquerda, escolha Manage APIs > API Groups. No canto superior direito da página, clique em Create Group. Na caixa de diálogo exibida, selecione a integração vpc criada, configure os parâmetros Group Name e BasePath e clique em Confirm.

Nota

Após criar o grupo, clique no nome dele na lista de grupos para acessar a página de detalhes. Nela, é possível vincular um nome de domínio, modificar informações básicas e alterar o tipo de instância.

O API Gateway atribui automaticamente um nome de domínio público de segundo nível a cada grupo de APIs. Esse domínio serve apenas para depuração. Chamadas diretas de API usando esse domínio são limitadas a 1.000 por dia em regiões da China continental e a 100 por dia na região da China (Hong Kong) e em outras regiões fora da China continental. Recomendamos vincular um nome de domínio independente ao seu grupo de APIs. Para mais informações, consulte Vincular um nome de domínio personalizado a um grupo de APIs.

Etapa 4: Criar um serviço de backend

Para criar uma API com Service discovery como tipo de serviço de backend, primeiro crie um serviço de backend.

  1. Faça login no console do API Gateway.

  2. No painel de navegação à esquerda, escolha Manage APIs > Backend Services. No canto superior direito da página, clique em Create Backend Service. Na caixa de diálogo exibida, insira o nome do serviço de backend e defina Type como Service discovery. Após a criação, localize o serviço na lista de serviços de backend e clique no nome dele para acessar a página de detalhes.

Neste exemplo, o ambiente Production está selecionado. Crie um serviço de backend nesse ambiente antes de publicar uma API. No lado direito da página, clique em Create para acessar a página Define Backend Service.

Insira as seguintes informações do ZooKeeper e dos microsserviços na página Define Backend Service:

  • Service url: o endpoint interno do ZooKeeper. Obrigatório.

  • Namespace: o nome do nó pai que armazena as informações da aplicação de microsserviços. Obrigatório.

  • Service Name: o nome da aplicação de microsserviços. Obrigatório.

Nota

O namespace e o nome do serviço formam juntos o caminho de acesso de um nó de serviço. Por exemplo, se o caminho do nó for "/provider/service", defina o namespace como "provider" e o nome do serviço como "service". O provedor de serviços pode registrar informações de instâncias de microsserviços no nó em /provider/service e em seus nós filhos.

Etapa 5: Criar uma API

No painel de navegação à esquerda do console do API Gateway, escolha Manage APIs-APIs. No canto superior direito da página, clique em Create API.

  1. Configure as informações básicas da API.

    Nesta etapa, configure as informações básicas da API que deseja criar, incluindo o grupo de APIs ao qual ela pertence, além de nome, método de autenticação, tipo e descrição. Selecione o grupo de APIs criado, escolha alibaba cloud App para Security Authentication e selecione Enable AppCode Authentication (Header & Query) para AppCode Authentication. Especifique um nome e uma descrição personalizados para a API.

Nota

Configure os parâmetros Security Authentication e AppCode Authentication conforme suas necessidades. Este exemplo fornece apenas uma configuração de referência.

  1. Defina as requisições da API.

    Nesta etapa, defina como um cliente, como navegador, aplicativo móvel ou sistema corporativo, solicita sua API. Os parâmetros incluem tipo de requisição, protocolo, caminho da requisição, método http, modo de requisição de parâmetros de entrada e definições de parâmetros de entrada. Especifique o caminho da requisição e o método http conforme seus requisitos de negócio.

  2. Defina o serviço de backend.

    Nesta etapa, defina como o API Gateway mapeia e processa os parâmetros da requisição após recebê-la. Também é possível especificar a qual endereço de backend o API Gateway se conecta. Neste exemplo, Use Existing Backend Service está selecionado para o parâmetro Configuration Mode e Service discovery está selecionado para o parâmetro Backend Service Type. Configure os demais parâmetros conforme seus requisitos de negócio.

  3. Defina as respostas da API.

    Nesta etapa, configure as informações de resposta para gerar a documentação da API. A documentação ajuda os chamadores da API a entendê-la melhor. Também é possível especificar uma resposta de sucesso e uma resposta de falha de exemplo. Neste exemplo, esta etapa é ignorada. Clique em Create.

  4. Publique a API.

    Após salvar as configurações anteriores, publique a API. Todas as configurações realizadas em uma API só entram em vigor depois que você a publica em um ambiente. Neste exemplo, o serviço de backend está configurado no ambiente de produção. Portanto, a API é publicada no ambiente de produção. Se quiser publicar a API em outro ambiente, primeiro configure o serviço de backend no ambiente de destino. Neste exemplo, clique em Publish na mensagem que indica a criação bem-sucedida da API. Na caixa de diálogo Publish API, defina o parâmetro Stage como Release, insira observações e clique em Publish.

Etapa 6: Criar uma aplicação e autorizá-la a chamar a API

Uma aplicação é a identidade que um chamador de API usa para invocá-la. Neste exemplo, alibaba cloud App foi selecionado para Security Authentication durante a criação da API. Após publicar a API, crie uma aplicação e autorize-a a chamá-la. Para mais informações, consulte Gerenciamento de autorização.

Etapa 7: Depurar a API

O API Gateway oferece suporte à depuração online. Use esse recurso para verificar se uma API está configurada corretamente antes de disponibilizá-la aos clientes.

Na página APIs, clique na API criada. No painel de navegação à esquerda da página de detalhes da API, clique em Debug API. Se você definiu parâmetros de requisição, insira valores diferentes para verificar se a API funciona conforme o esperado.

Durante a depuração, certifique-se de usar a aplicação autorizada e de que o ambiente de depuração corresponda àquele em que a aplicação foi autorizada. Caso contrário, a depuração pode falhar.