gpt4 book ai didi

apache - Apache Helix、Zookeeper、Mesos 和 Erlang 的真实示例?

转载 作者:行者123 更新时间:2023-12-03 21:45:43 25 4
gpt4 key购买 nike

我是新来的

  • Apache ZooKeeper :ZooKeeper 是一个集中式服务,用于维护配置信息、命名、提供分布式同步、提供组服务。
  • Apache Mesos :Apache Mesos 是一个集群管理器,它简化了在共享服务器池上运行应用程序的复杂性。
  • Apache Helix :Apache Helix 是一个通用集群管理框架,用于自动管理托管在节点集群上的分区、复制和分布式资源。
  • Erlang Langauge :Erlang 是一种编程语言,用于构建具有高可用性要求的可大规模扩展的软实时系统。

  • 在我看来 HelixMesos两者都对 Clustering 有用管理系统。它们与 ZooKeeper 的关系如何?如果有人给我一个真实世界的例子来说明他们的用法,那就更好了。

    我很想知道如何 [BOINC][1]正在向他们的客户分配任务?他们是否使用上述任何技术? (忘记Erlang)。

    我只需要简要介绍一下:)

    最佳答案

    Erlang 由 Ericsson 构建,旨在用于电话系统。按照设计,它运行数百、数千甚至数十万个小进程,通过在它们之间发送信息而不是共享内存或状态来处理任务。这启用了各种有趣的功能,这些功能非常适合高可用性分布式系统,例如:

  • 热代码重载。每个进程都被暂停,相关的模块代码被换出,并从中断的地方恢复,因此可以在不重新启动或造成重大中断的情况下进行部署。
  • 简单的分布式消息传递和集群。在大多数情况下,向本地进程或远程进程发送消息是相当无缝的。
  • 处理本地 GC。垃圾收集在每个进程中独立发生,而不是像 java 那样全局停止世界,有助于低延迟结果。
  • 监督树和复杂的流程层次结构和监控/管理。

  • 一些充分利用 Erlang 的具体实际示例是:
  • MongooseIM一个高性能且可扩展的分布式 XMPP/聊天服务器
  • Riak分布式键/值存储。


  • 另一方面,您可以将 Mesos 视为一个有效地将服务器数据中心转变为团队和开发人员平台的平台。假设我作为一家公司,拥有一个拥有 10,000 台物理服务器的数据中心,并且我有 1,000 名工程师开发数百种服务,这是一种允许工程师跨硬件部署和管理服务而无需直接担心服务器的好方法.它是物理服务器之上的抽象层,允许您共享和智能分配资源。

    作为 Mesos 的用户,我可能会说我有 Service X。它是一个位于 Y 位置的可执行包。Service X 的每个实例都需要 4 GB 的 RAM 和 2 个内核。我需要 8 个实例,它们将连接到负载均衡器。您可以在配置中指定它并基于该配置进行部署。 Mesos 将找到具有足够内存和 CPU 容量的硬件来处理该服务的每个实例,并在每个位置启动它。

    它也可以处理许多其他更复杂的关于它们的编排的主题,但这可能有点深入:)

    Zookeepers 最常见的用例是服务发现和配置管理。从根本上讲,你可以把它想象成一个嵌套的键值存储,其中服务可以查看预定义的路径以查看其他服务当前所在的位置。

    一个简单的例子是我有一个使用共享数据库集群的 Web 服务。我知道该数据库集群的简单名称以及它的配置位于 zookeeper 中的位置。我可以在 zookeeper 中查找(或反复轮询)该路径以检查事件数据库主机的地址是什么。另一方面,如果我将一个数据库节点从轮换中取出并用一个新节点替换它,zookeeper 中的配置会使用新地址进行更新,任何持续查看它的东西都会检测到这种变化并改变它连接到的位置.

    zookeeper 的一个更复杂的用例是 Kafka 如何使用它(或者在我上次使用 Kafka 时使用它)。 Kafka 有流,流有很多分片。每个流的每个消费者在读取并处理到流中的某个点后,都使用 zookeeper 将检查点保存在每个分片中。这样,如果消费者崩溃或重新启动,它就知道在流中的哪个位置拾取。

    关于apache - Apache Helix、Zookeeper、Mesos 和 Erlang 的真实示例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24694693/

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