基于 gRPC 的微服务架构,用于服务间通信
gRPC based microservice architecture for inter-service communication
我试图理解在使用 gRPC 实现这些服务时,服务间通信是如何工作的。虽然有很多文章涵盖了 gRPC 入门的基础知识以及如何将其编译为多种不同的语言。我仍然缺少一些关于微服务架构中的每个服务应该如何最好地通信的指南。
我的一般理解,经过这样的事情之后:https://www.oreilly.com/library/view/practical-grpc/9781939902580/
如果我需要在微服务架构中使用 gRPC,其中服务间通信将基于 gRPC,每个服务基本上(并且根据需要)应该执行服务器和客户端存根实现以与其他服务通信。
所以对我来说它看起来像这样
如果是上述情况,那么将这些服务中的每一个部署在 K8s 环境中似乎需要付出很多努力,尤其是。使每个服务在整个集群中都可被发现。
一些补充说明
我主要使用 Go 进行开发,并使用 protobuf 来定义原型文件。
如果有人可以对此发表评论或有资源可以帮助我加深理解,那将非常有帮助。
谢谢!
您的理解是正确的。如果你想在 kubernetes 中拥有相互远程通信的单独服务,你将必须部署它们(helm 可以在这里提供帮助)并且你必须为集群发现创建服务。
我试图理解在使用 gRPC 实现这些服务时,服务间通信是如何工作的。虽然有很多文章涵盖了 gRPC 入门的基础知识以及如何将其编译为多种不同的语言。我仍然缺少一些关于微服务架构中的每个服务应该如何最好地通信的指南。
我的一般理解,经过这样的事情之后:https://www.oreilly.com/library/view/practical-grpc/9781939902580/
如果我需要在微服务架构中使用 gRPC,其中服务间通信将基于 gRPC,每个服务基本上(并且根据需要)应该执行服务器和客户端存根实现以与其他服务通信。
所以对我来说它看起来像这样
如果是上述情况,那么将这些服务中的每一个部署在 K8s 环境中似乎需要付出很多努力,尤其是。使每个服务在整个集群中都可被发现。
一些补充说明 我主要使用 Go 进行开发,并使用 protobuf 来定义原型文件。
如果有人可以对此发表评论或有资源可以帮助我加深理解,那将非常有帮助。
谢谢!
您的理解是正确的。如果你想在 kubernetes 中拥有相互远程通信的单独服务,你将必须部署它们(helm 可以在这里提供帮助)并且你必须为集群发现创建服务。