Go语言 kubernates中的gRPC微服务通信

mqxuamgl  于 2023-02-27  发布在  Go
关注(0)|答案(1)|浏览(139)

gRPC客户端服务器在本地通信

在客户端的.env中,我给予了端口号SERVER=:50051,客户端使用os.Getenv(“SERVER”)向服务器发出请求

Kubernates中的REST客户端服务器通信

我像这样公开服务器http://cloud-order-web:9005
在客户端的.env中放入该键和值ORDER_SERVER=http://cloud-order-web:9005
客户端使用os.Getenv(“订单服务器”)+"/订单/项目”向服务器发出请求

gRPC客户端服务器如何在kubernates中通信?

gRPC客户端和服务器pod如何在kubernates内部通信?
我如何暴露一个gRPC服务器被调用由客户端?gRPC不遵循http协议,那么gRPC服务器的端点应该看起来像什么?我找不到任何资源.

是否可以像在REST中那样使用url路径公开gRPC服务器

是否可以在不使用gRPC网关插件情况下像这样公开gRPC服务器(http://localhost:8000/order/items)?
我用Go语言编写了服务器端和客户端的代码,在本地可以正常工作,在kubernates中不能正常工作,客户端无法调用gRPC服务器。
我的开发人员没有任何gRPC的想法,我要求资源,以如何暴露一个gRPC服务器和调用的客户端在kubernates。

omqzjyyz

omqzjyyz1#

你像以前一样暴露它,只是不要在开始时添加http://
例如:

conn, err := grpc.Dial("localhost:8080", grpc.WithTransportCredentials(insecure.NewCredentials()))

服务也是一样,只写服务地址。

conn, err := grpc.Dial("svc-name.namespace.svc.cluster.local:8080", grpc.WithTransportCredentials(insecure.NewCredentials()))

只需使用TCP协议和您想要的端口创建一个服务。

相关问题