Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2024-10-14 GMT+08:00

Criação de uma API de gRPC

O APIG suporta a criação de API de gRPC. gRPC é uma estrutura moderna, de código aberto e de alto desempenho de chamada de procedimento remoto (RPC) que pode ser executada em qualquer ambiente. Você só precisa definir a solicitação e a resposta de cada API e deixar a estrutura gRPC cuidar do resto. O gRPC usa buffers de protocolo (protobuf) como sua linguagem de definição de interface (IDL) e para troca de mensagens na camada inferior. A tabela a seguir compara as APIs de gRPC e REST.

Tabela 1 gRPC vs REST

Item

gRPC

REST

Codificação de mensagens

protobuf

JSON

Protocolo de transmissão

HTTP/2

HTTP

Desempenho da transmissão

Rápido, com menos conteúdo para transmitir

Mais conteúdo para transmitir

Modo de transmissão

  • RPC unária

    Enviar uma única solicitação e receber uma única resposta.

  • RPC de streaming do servidor

    Enviar uma única solicitação e receber uma única resposta.

  • RPC de streaming do cliente

    Enviar várias solicitações e receber uma única resposta.

  • RPC de streaming bidirecional

    Enviar várias solicitações e receber várias respostas.

Enviar uma única solicitação e receber uma única resposta.

Se o cliente e o servidor forem do tipo gRPC, você poderá criar uma API de gRPC para abrir seus recursos de back-end. O gRPC apresenta baixo consumo de recursos e alta taxa de transmissão. É adequado para invocação e governança de serviços internos.

Restrições

  • As APIs de gRPC não podem ser importadas, exportadas ou depuradas e não oferecem suporte à importação de arquivos de design de API, microsserviços do CSE ou cargas de trabalho do CCE.
  • Não há suporte para políticas de disjuntor cujo tipo de política de back-end seja Mock, HTTP&HTTPS ou FunctionGraph.

Pré-requisitos

  • Você criou um grupo de APIs. Se nenhum grupo de APIs estiver disponível, crie um fazendo referência a Criação de um grupo de APIs.
  • Se o serviço de back-end precisar usar um canal de balanceamento de carga, crie um canal primeiro.
  • O serviço de back-end tem um arquivo proto que define os parâmetros de solicitação e resposta da API. O arquivo proto é usado no gRPC para definir estruturas de dados e APIs de serviço. Ele descreve estruturas de dados e interações usando protobuf e serve como um contrato para a comunicação entre o cliente e o servidor.

Procedimento

  1. Vá para o console do APIG.
  2. Select a gateway at the top of the navigation pane.
  1. No painel de navegação, escolha API Management > API Groups.
  2. Clique em um nome de grupo.
  3. Na página de guia APIs, escolha Create API > Create gRPC API.
  4. Configure a definição de front-end de acordo com 5.a.

    Para as APIs de gRPC, o método de solicitação de front-end padrão é POST e o protocolo é GRPCS.

    Defina o caminho para qualquer um dos seguintes:
    • /
    • /{Package name}.{Service name}
    • /{Package name}.{Service name}/{Method name}
    • Obtenha o nome do pacote, o nome do serviço e o nome do método do arquivo proto.
    • Correspondência absoluta pode ser usada somente quando o caminho front-end é definido como /{Package name}.{Service name}/{Method name}.
    • A codificação Base64 não é suportada.

  5. Configure o modo de autenticação referindo-se a 5.b.
  6. Clique em Next.
  7. Configure o back-end padrão fazendo referência a 1.

    O tipo de serviço de back-end das APIs de gRPC pode ser GRPC&GRPCS ou FunctionGraph.
    • Quando o tipo é GRPC&GRPCS, o serviço de back-end usa o método de solicitação POST, o caminho / e o protocolo GRPC ou GRPCS e não oferece suporte à orquestração de parâmetros.
    • Quando o tipo é FunctionGraph o serviço de back-end usa a arquitetura de rede V2 e o tipo de invocação Synchronous por padrão e não oferece suporte à orquestração de parâmetros.

      APIs gRPC com um back-end de FunctionGraph são suportadas em CN Southwest-Guiyang1, CN East-Shanghai1, CN North-Beijing4, CN East-Shanghai2 e LA-Santiago.

  8. (Opcional) Adicione uma política de back-end fazendo referência a 5.

(Opcional) Criação de uma política

Você pode criar políticas para a API depois de publicá-la.

  1. Na guia APIs, clique em Create Policy.
  2. Selecione um tipo de política e defina parâmetros.

  3. Clique em OK.