Todos os produtos
Search
Central de documentação

Alibaba Cloud Service Mesh:Como especificar o protocolo de um service de maneira padronizada?

Última atualização: Sep 01, 2026

O Service Mesh (ASM) atua como proxy para qualquer tráfego TCP, incluindo HTTP, HTTPS, gRPC e TCP puro. Por padrão, o ASM detecta automaticamente o tráfego HTTP e HTTP2 e trata o tráfego não reconhecido como TCP simples. Para que o ASM identifique os protocolos e ofereça recursos adicionais, especifique o protocolo de cada service no cluster do plano de dados.

Informações básicas

O ASM oferece suporte aos seguintes protocolos comuns: HTTP, HTTP2, HTTPS, TCP, TLS, gRPC, gRPC-Web, Mongo, MySQL e Redis. Há dois métodos para especificar o protocolo de um service:

Método 1: Definir o nome da porta de um service para especificar o protocolo do service

No campo ports de um service, defina o name de cada port como {Protocol name} ou {Protocol name}-{Custom suffix}. No exemplo a seguir, a porta 9090 utiliza o protocolo gRPC; portanto, seu name é definido como grpc-demo. A porta 3306 utiliza o protocolo MySQL; assim, seu name é definido como mysql:

kind: Service
metadata:
  name: myservice
spec:
  ports:
  - port: 9090
    name: grpc-demo
  - port: 3306
    name: mysql

Método 2: Definir o appProtocol de uma porta de service para especificar o protocolo do service

Para utilizar este método, sua instância do ASM deve executar a versão 1.8.6 ou posterior. O cluster do plano de dados precisa ser um cluster do Alibaba Cloud Container Service for Kubernetes (ACK) ou um cluster Kubernetes open source com o Kubernetes 1.18 ou superior. Defina o campo appProtocol de uma porta de service para especificar o protocolo. O exemplo a seguir define HTTPS como o protocolo do service:

kind: Service
metadata:
  name: myservice
spec:
  ports:
  - port: 3306
    name: database
    appProtocol: https
Nota

O campo ports.appProtocol tem precedência sobre ports.name.