通过应用网关访问gRPC协议的服务
概述
应用网关支持访问gRPC协议的服务。下文以固定地址服务为例,演示如何配置gRPC协议服务的接入与路由。
操作步骤
- 在GRPC获取路径下载生产者端geeter_server和消费端greeter_client的代码。
- 在本地go环境构建出二进制软件包grpc-provider和 grpc-consumer,执行命令如下。
GOOS=linux go build -o grpc-provider main.go
GOOS=linux go build -o grpc-consumer main.go
- 登录Linux弹性云服务器。
请参考Linux弹性云服务器登录方式概述选择相应方式登录弹性云服务器。
- 将构建好的软件包上传到ECS上合适的路径下,如根目录“/”。
- 执行如下命令对grpc-provider和grpc-consumer赋予可执行权限。
chmod +x grpc-provider
chmod +x grpc-consumer
- 执行命令启动生产者。
./grpc-provider
此时gRpc的生产者端已经被启动了,监听端口是50051。
- 参考创建服务创建来源类型为“固定IP”的服务。其中“服务地址”为ECS的IP地址,端口为grpc-provider的监听端口,即50051。
- 参考创建路由在应用网关中创建如下路由。
- “路由名称”为“unit-consumer-route”。
- “域名”为“*”的路由,
- 在路由规则中,添加如下路由规则:
- “服务地址”的匹配类型选择“前缀匹配”,服务地址输入“/”。
- “请求方法”选择选择“POST”、“GET”、“DELETE”和“PUT”。
- 添加目标服务,“目标服务”为7中创建的服务;“分组”分别选择“ou1”或者“ou2”;“权重”为100。
- 执行命令使用consumer端进行访问。
./grpc-consumer {网关IP}:50051
其中网关IP是网关的私网IP,访问成功则有以下结果。