在当今快速发展的技术领域中,gRPC(Google Remote Procedure Call)已经成为许多应用程序中不可或缺的一部分。然而,要充分发挥 gRPC 的潜力,你需要一个强大的 API 网关来有效管理你的 gRPC 服务,为其提供协议转换、负载均衡、身份认证和授权等关键功能。无论你是否熟悉 gRPC,只需花 5 分钟阅读本文,你将掌握使用 API7 企业版网关代理 gRPC 连接的方法。
安装 API7 企业版网关;
安装 grpcurl 模拟 gRPC 客户端与您的 gRPC 服务器交互;
启动一个测试使用的 gRPC 服务;
1 | docker run -d --name grpc-service -p 50051:50051 --restart always api7/grpc-server-example:1.0.0 |
grpcurl
来查看可用的 gRPC 服务列表和方法:1 | $ grpcurl -plaintext 127.0.0.1:50051 list |
默认情况下,API7 企业版网关实例只在 9443 端口支持 TLS 加密的 HTTP/2。通常我们在测试环境中为了便于测试,可以修改网关实例的配置文件,在 node_listen
添加一个端口 9081 支持不加密的 HTTP/2。
1 | apisix: |
更改完毕后,在安装 API7 企业版网关的 api7-ee
目录下重新运行 docker-compose up -d
即可。
接下来,我们将在 API7 企业版的控制台页面中配置对应的资源,以代理我们已经准备好的 gRPC 服务。
在创建好服务和路由之后,只需将服务发布到网关组中即可生效。
点击“发布服务”,选择指定的网关组及要发布的服务;
添加 gRPC 服务节点(IP +端口),然后点击“发布”;
发布成功后我们使用 grpcurl 来模拟 gRPC 客户端:
1 | $ grpcurl -plaintext -proto helloworld.proto -d '{"name":"apisix"}' 127.0.0.1:9081 |
API7 企业网关内置了 100+ 插件,涵盖了认证、授权、限速、日志、监控等广泛功能。通过使用 API7 企业版网关代理 gRPC 服务,将极大提高系统的灵活性、安全性、性能和可管理性,为开发人员和运维团队提供了更好的工具和控制手段。快来试用 API7 企业版https://www.apiseven.com/enterprise网关,为你的 gRPC 应用赋能吧!