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.
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 |
|
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
- Vá para o console do APIG.
- Select a gateway at the top of the navigation pane.
- No painel de navegação, escolha API Management > API Groups.
- Clique em um nome de grupo.
- Na página de guia APIs, escolha Create API > Create gRPC API.
- 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.
- Configure o modo de autenticação referindo-se a 5.b.
- Clique em Next.
- 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.
- (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.
- Na guia APIs, clique em Create Policy.
- Selecione um tipo de política e defina parâmetros.
- Selecione política existente
- Crie nova política (consulte Criar uma política e vinculá-la a APIs)
- Clique em OK.