gpt4 book ai didi

rabbitmq - 分布式系统中的消息传递与 RPC(Openstack 与 K8s/Swarm)

转载 作者:行者123 更新时间:2023-12-02 21:55:35 25 4
gpt4 key购买 nike

OpenStack 使用消息传递(我认为默认情况下是 RabbitMQ?)来进行节点之间的通信。另一方面,Kubernetes(Google 内部 Borg 的血统)使用 RPC。 Docker 的 swarm 也使用 RPC。两者都是基于 gRPC/protofbuf,似乎在 Google 内部也大量使用。

据我了解,像 Kafka 这样的消息传递平台广泛用于流数据和日志聚合。但像 OpenStack、Kubernetes、Docker Swarm 等系统需要节点之间的特定交互,RPC 似乎是一个自然的选择,因为它允许为特定操作定义 API。

OpenStack 是否在评估了消息传递与 RPC 的优缺点后选择了消息传递?是否有任何好的博客/系统评论比较使用消息传递与 RPC 的大型系统的成功情况?在大规模分布式系统中,消息传递是否比 RPC 有优势?

最佳答案

Does messaging offer any advantage over RPC in scaled distributed systems ?

大多数情况下,持久性是消息系统的一大优势。还有一点就是广播。您需要将其实现到gRPC中靠你自己。服务发现和安全性可能是另一个原因。在消息系统中,您只需要保持一个系统的高度安全,而使用 gRPC 时,您可能会在许多点上有人可以侵入系统。消息队列系统通常已经实现了某种服务发现。对于 gRPC,您必须至少使用另一个库来实现此目的。

Are there any good literate comparing the success of large scale systems using messaging vs RPC ?

这不是一个对比。有不同的用例。消息系统通常比 RPC 协议(protocol)慢。不仅比 gRPC 慢。原因也很简单。您只需在两个或多个节点之间引入一个中间件。但它们提供持久性、广播、Pub/Sub 等。

Did Openstack chose messaging after evaluating the pros cons of messaging vs RPC ?Probably

Does messaging offer any advantage over RPC in scaled distributed systems ?

  1. 即用型解决方案,只需使用客户端即可
  2. 坚持
  3. 准备好使用服务发现
  4. 发布/订阅模式
  5. 容错能力

大部分点需要自己用gRPC实现。

关于rabbitmq - 分布式系统中的消息传递与 RPC(Openstack 与 K8s/Swarm),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47602517/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com