关闭。这个问题是opinion-based .它目前不接受答案。
想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它.
2年前关闭。
Improve this question
我试图理解在使用 gRPC 实现这些服务时,服务间通信是如何工作的。虽然有很多文章涵盖了有关 gRPC 入门以及如何将其编译为多种不同语言的基础知识。我仍然缺少一些关于微服务架构中的每个服务应该如何最好地通信的指导方针。
我的一般理解,经过这样的事情后:https://www.oreilly.com/library/view/practical-grpc/9781939902580/
如果我需要在微服务架构中使用 gRPC,其中服务间通信将基于 gRPC,每个服务本质上(并且根据需要)应该执行服务器和客户端 stub 实现以与其他服务通信。
所以对我来说它看起来像这样
如果是上述情况,那么将这些服务中的每一个部署在 K8s 环境中似乎需要付出很大的努力,尤其是。使每个服务在整个集群中都是可发现的。
一些附加说明
我主要使用 Go 进行开发,并使用 protobuf 来定义 proto 文件。
如果有人可以对此发表评论或有我可以通过的资源来更好地理解,那将非常有帮助。
谢谢!
最佳答案
你的理解是正确的。如果您想在 Kubernetes 中拥有可以远程相互通信的单独服务,则必须部署它们(helm 可以在这里提供帮助)并且您必须为集群发现创建服务。
关于go - 用于服务间通信的基于 gRPC 的微服务架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61121353/