基于gRPC的微服务架构,用于服务间通信

时间:2020-04-09 12:38:49

标签: go kubernetes microservices protocol-buffers grpc

我试图理解使用gRPC实现这些服务时服务间通信的工作方式。尽管有很多文章涵盖了有关gRPC入门以及如何将其编译为多种不同语言的基础知识。我仍然缺少一些关于微服务体系结构中的每个服务应该如何进行最佳通信的准则。

我的大致理解是,遵循了类似以下的命令:https://www.oreilly.com/library/view/practical-grpc/9781939902580/

如果我需要在微服务体系结构中使用gRPC,在该微服务体系结构中,服务间通信将基于gRPC,则每个服务本质上(并根据需要)应该执行服务器和客户端存根实现以与其他服务进行通信。

所以对我来说看起来像这样 enter image description here

如果是上述情况,那么将所有这些服务部署在K8s环境中似乎尤其需要付出很多努力。使每个服务在整个集群中均可发现。

一些附加说明 我主要使用Go进行开发,并使用protobuf定义原型文件。

如果有人可以对此发表评论或拥有我可以利用的资源以加深我的理解,这将非常有帮助。

谢谢!

1 个答案:

答案 0 :(得分:0)

您的理解是正确的。如果您想在kubernetes中使用单独的服务以相互远程通信,则必须进行部署(在这里可以提供帮助),并且必须创建用于集群发现的服务。