我对ZeroMQ相对较新,希望对它的内部架构提出一些建议。什么是ZeroMQ底层设计架构
我打算使用ZeroMQ作为我的工作的消息框架。我想要实现的基本想法是能够根据实现特定工作流最终期限所需的负载和计算能力动态扩展基础架构。
因此,如果有必要添加更多节点,则应用程序会生成新节点,并且消息传递框架也应该能够包含更改。我还应该能够指出附加计算应该发生的位置,或者框架如何动态地添加新节点(如果有的话)。特定节点上的事件决定了在其他节点上执行的后续操作。这里是我的方案或我的筹码,我正在盘算过,但想知道,如果它是有道理的:
用户应用
ZeroMQ消息
鱿鱼基于内容的路由
覆盖
物理基板
我对上面的堆栈有点怀疑,因为我相信ZeroMQ有助于实现大部分功能,从而使其更简单。
关于我的堆几个要点:
物理基板是可用于计算或作为数据源的节点的总数。
覆盖是基于物理网络动态构建的逻辑网络,基于可用于特定工作流程的最近节点。即如果两个节点频繁交换数据,则这两个节点在逻辑上彼此靠近放置。当我们使用ZeroMQ时,是否需要CHORD等单独的覆盖层?
鱿鱼基本上用于基于内容的路由。我们使用ZeroMQ时需要Squid吗?
ZeroMQ消息传递用于应用程序的不同节点之间的通信。
基本上,我想知道的是,鉴于ZeroMQ具有更丰富的功能,是否可以使上面的堆栈变得更简单。如果是这样,有人可以指出或分享想法。然而,我正在浏览ZeroMQ的文档,我发现它很难理解ZeroMQ的内在设计。请帮忙。
感谢
我还是没有得到最初问题的答案。当你告诉ZMQ有能力替换其他一些工具时,你指的是什么工具?您能否详细说明ZMQ可以提供的功能,或者是否能解决我的情况所需的工具。 – SRKV
你没有提供关于你如何使用squid的细节,或者你的覆盖功能以及你想要解决什么问题以及如何解决。可以想象的是,你正在使用这些东西来解决ZMQ给你一个更简单的解决方法的某些问题,但是如果你没有深入了解你的堆栈中的更多细节,我不可能知道这些问题。 – Jason