【问题标题】:How do I configure OpenSplice DDS for 100,000 nodes?如何为 100,000 个节点配置 OpenSplice DDS?
【发布时间】:2014-07-30 20:53:19
【问题描述】:

配置 OpenSplice DDS 以支持 100,000 个或更多节点的正确方法是什么?

我可以对分区名称使用分层命名方案,因此“headquarters.city.location_guid_xxx”可以防止数据包离开某个位置,“company.city*”可以让样本在整个城市中对齐,等等?还是所有节点都知道所有这些分区,以防万一他们想向它们发布?

持久性服务会在出现时选择一个主服务器。如果一项持久性服务在远程位置的 Raspberry Pi 上运行,并通过 3G 链路运行,那么如何防止它尝试成为“总部”的主人并崩溃?

我正在远程节点中试验持久性设置,因此我使用 location_guid_xxx,但对于“总部”云服务器,我使用总部

在远程客户端上我可能会这样做:

<Merge scope="Headquarters" type="Ignore"/>
<Merge scope="location_guid_xxx" type="Merge"/>

所以某个位置不会成为 Universe 的主节点,但某个位置中的持久性服务仍然可以成为该位置的主节点吗?

如果我有 100,000 个位置,这是否意味着我必须将它们全部列在位于总部的 ospl.xml 文件的“合并范围”中?我认为仅此一项可能会限制我可以处理的网络规模。

我假设该产品将处理这种物联网场景。其他人试过吗?

【问题讨论】:

    标签: scale distributed-computing data-distribution-service opensplice


    【解决方案1】:

    考虑到您系统的规模,我认为您应该认真考虑使用 Vortex-Cloud(请参阅这些幻灯片 http://slidesha.re/1qMVPrq)。 Vortex Cloud 将允许您更好地扩展您的系统以及处理 NAT/防火墙。除此之外,您将能够使用 TCP/IP 从您的 Raspberry Pi 与云实例进行通信,从而避免与 NAT/防火墙相关的任何问题。

    在谈到您的耐用性问题之前,我还想指出其他一些事情。如果您尝试构建一个具有 100K 节点的扁平系统,您将生成相当多的发现信息。除了产生一些流量之外,这还将占用您的最终应用程序的内存。相反,如果您使用 Vortex-Cloud,我们会使用技巧来限制发现信息。举个例子,如果你有一个匹配 100K 数据读取器的数据写入,当使用 Vortex-Cloud 时,数据写入器只会匹配端点,从而将发现信息减少 100K 倍!!!

    最后,关于您的持久性问题,您可以仅将一些持久性服务配置为 alignee。在那种情况下,他们永远不会成为主人。

    HTH。

    A+

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多