【问题标题】:gRPC based microservice architecture for inter-service communication [closed]用于服务间通信的基于 gRPC 的微服务架构
【发布时间】:2020-07-22 02:01:48
【问题描述】:

我试图理解在使用 gRPC 实现这些服务时,服务间通信是如何工作的。虽然有很多文章涵盖了有关 gRPC 入门以及如何将其编译为多种不同语言的基础知识。我仍然缺少一些关于微服务架构中的每个服务应该如何最好地进行通信的指南。

我的一般理解,经过这样的事情之后:https://www.oreilly.com/library/view/practical-grpc/9781939902580/

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

所以对我来说它看起来像这样

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

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

如果有人可以对此发表评论或有资源可以帮助我更好地理解,那将非常有帮助。

谢谢!

【问题讨论】:

  • config 和一般非编码特定问题最好在serverfault.comstackexchange.com/sites# 列出的其他站点之一中询问...为什么?所以在这里它仍然专注于编程特定的掘金
  • @ScottStensland 可能是我没有更深入地表达,但我的问题不是针对 K8s 或 gRPC 的配置,而且绝对不是基于意见的(对于那些将其关闭为这样的)。相反,它更多地与实现基于 gRPC 的微服务及其服务间通信的架构理解有关。

标签: go kubernetes microservices protocol-buffers grpc


【解决方案1】:

你的理解是正确的。如果您想在 Kubernetes 中拥有可以远程相互通信的单独服务,则必须部署它们(helm 可以在此处提供帮助),并且您必须为集群发现创建服务。

【讨论】:

  • 非常感谢@Thomas。
猜你喜欢
  • 2021-05-20
  • 1970-01-01
  • 2021-09-04
  • 2020-05-29
  • 1970-01-01
  • 2017-12-26
  • 2017-07-15
  • 2017-10-15
  • 2020-01-15
相关资源
最近更新 更多