- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
ZeroC ICE 与 0MQ 相比如何?我知道 0MQ/Crossroads 和 DDS 非常相似,但似乎无法弄清楚 ICE 的用武之地。
我需要快速实现一个系统,将实时市场数据从 C++ 卸载到 C#,作为我项目的第一阶段。下一阶段将是实现具有底层 Pub/Sub 设计的基于事件的架构。
我愿意使用 TCP.. 但系统目前正在单个 24 核服务器上运行.. 所以 IPC 选项会很好。据我了解,ICE 只是 TCP,而 DDS 和 0mq 有一个 IPC 选项。
目前,我倾向于将 Protobuf 与 ICE 或 Crossroads IO 结合使用。从 OpenSplice DDS 网站关闭。我对各种选项进行了大量研究,最初考虑的是 OpenMPI + boost:mpi,但似乎没有适用于 .NET 的 MPI。
我的问题是:
ICE 与 0MQ 相比如何?我无法解决这个问题。无法在网上找到任何比较两者的内容。
提前致谢。
........更多关于我的项目:
目前在 Windows 上使用 CMAKE C++,但计划在某个时候迁移到 CentOS。另一个所需的功能是将 tic 数据和所有消息存储在“NoSql”数据库中,例如 Hbase/Hadoop 或 HDF5。这些中间件/消息传递/pub-sub 库是否有任何数据库集成?
最佳答案
关于 ZeroC 的一些想法:非常快;能够有多个端点;能够在端点上进行负载平衡;如果其中一个节点出现故障,能够重新连接到不同的端点。这对最终用户是透明的;拥有良好的工具链(IceGrid、IceStorm、IceBox等);分布式、高可用、多故障转移等
除此之外,我还通过让客户端创建具有多个端点的代理,将其用于热交换代码模块(类似于 Erlang),然后关闭每个端点以逐个快速升级。通过对不同端点的透明重试,我可以在整个升级过程中启动并运行系统。不确定这是广告功能还是未公开的副作用:)
总体而言,如果需要使用 ZeroC Ice,扩展服务器非常容易。
我知道 ZeroMQ 提供了一套很棒的工具和消息传递模式,我会继续将它用于我的宠物项目。但是,我看到的问题是,很容易走极端并失去对所有分布式组件的跟踪。这是分布式环境中必须具备的。当您需要升级时,您如何知道您的客户端/服务器在哪里?如果链下的组件之一没有收到消息,如何确定问题出在哪里?出版商?客户端?还是两者之间的任何一个桥梁(REP/REQ、XREP/XREQ 等)?
总体而言,ZeroC 为企业解决方案提供了更好的工具集和生态系统。
而且它是开源的:)
关于c++ - ZeroC ICE 对比 0MQ/ZeroMQ 对比 Crossroads IO 对比开源 DDS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12104123/
在 DDS 中可以为特定域创建的主题数量是否有限制?这取决于实现吗? RTI Connext DDS 5.0.0 的最大值是多少?我没有在文档中看到它。 最佳答案 您记忆起的“神奇”限制 240 很可
我有一个使用 DDS 的旧版 C++ 应用程序用于异步通信/消息传递。我需要将此应用程序集成到使用 JMS 进行消息传递的 JavaEE 环境中。除了构建独立的 JMS/DDS 桥接模块之外,我还有其
我正在 Linux 32 位的 OpenSplice DDS Community Edition 上工作。在这里我可以有多个主题,数据编写者可以写入这个主题,发布者将发布这些主题。我尝试修改可用的源代
我仍在尝试理解 DDS 及其概念。 我有一个配置,其中两台笔记本电脑运行基于 dds 的应用程序。我的环境不允许多播,因此我决定采用点对点连接(单播)。为了将两台笔记本电脑置于同一网络中,我使用以太网
我正在按照 windbg.info 上的说明尝试找到与我的程序中的内存分配/泄漏对应的源。我设置了一个带有泄漏代码的测试用例来尝试演示这一点。我可以到达那里的一部分,但看不到实际来源。 有问题的 C+
我的 DDS 程序中有以下代码,用于 java 8 使用 RTI DDS 5.2.0 DomainParticipantFactory.PARTICIPANT_QOS_DEFAULT. dis
好的,所以我知道如何使用 CreateDDSTextureFromFile() 函数,但是假设我通过 void *Buffer、UINT Len 在内存中有 DDS 文件...我如何从这个变量创建纹理
我开始使用 C# 并尝试测试 dds 应用程序后面的代码。我把它取自:http://www.laas.fr/files/SLides-A_Corsaro.pdf using System; /****
在 i386 上使用 dds 库进行操作,尝试重复提取样本。我明确地“读取”而不是“获取”样本,因此它们永远不会过期或被删除。 启动两个黑板应用程序,(1) 和 (2) 在两个应用程序中执行读取。这将
我已经创建了使用java实现的普通发布者和订阅者,其工作原理是按大小为1MB读取内容,总大小为5MB,并每1MB发布给订阅者。数据已成功发布。现在面临将内容附加到现有文件的问题。最后我只能找到文件中的
我正在开发一个运行在 QNX 6.4.1 上的嵌入式系统,该系统有多个相互通信的软件服务器。我项目中的一些人直接将一大堆 DDS 东西检查到主要基线中,然后去度假了。当然它不能正常工作,而且我们的配置
我需要C Winform应用程序和Android本机应用程序使用DDS(数据分发服务)。每个人都可以是订户和作者。 对我来说重要的是: -高性能。 -易于使用和记录。 -支持。 价格低。 什么是最好的
如何在 C# 中将 .dds 纹理文件作为图像加载?我在 google 上找不到任何有用的东西。 你给我的样本信息越多,我就越能理解它。 最佳答案 我遇到了同样的问题。这是一个很好的解决方案。 来源:
我参与了一个项目,该项目使用 DDS 作为通信协议(protocol)并使用 C++ 作为语言。如您所知,交换的消息称为主题。好吧,有时一个团队必须更改主题定义,因此,依赖于该主题的其他软件停止工作,
在映射到 DDS 的现有对象上添加索引的最佳方法是什么?数据库中已经存储了数十万个对象。 是否就像将 [EPiServerDataIndex] 属性添加到我现有的类、重新编译和重新部署站点一样简单?
我目前正在使用启用了安全插件的 DDS 进行开发。 当应用程序启动时,它会查找 CA 证书、本地证书和私钥的路径,并将它们加载到内存中以供将来使用。 包含公钥的证书不敏感,因为它们通常以明文形式发送并
我一直在尝试阅读 DDS 标准,尤其是 OpenSplice,我对架构感到疑惑。 DDS 是否需要运行代理或任何特定的守护进程来管理不同方之间的消息交换和协调? 如果我只是为一个主题启动一个发布数据的
我在订阅数据时遇到问题(使用 java 平台)。当订阅者订阅一个主题时,订阅的数据必须从 DDS 中删除。但就我而言,每当我订阅数据时,相同的数据都会被多次订阅。数据不会从 DDS 中删除。我尝试使用
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
我想知道OPC(开放平台通信)和DDS(数据分发服务)之间的区别。 我对这两个框架的理解是:机器上的通信中间件,用于简化复杂的网络编程。两者都用于通过消息传递在物理上独立的机器上进行程序通信。它们采用
我是一名优秀的程序员,十分优秀!