首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >推荐哪一种? OpenSplice还是CoreDX?

推荐哪一种? OpenSplice还是CoreDX?
EN

Stack Overflow用户
提问于 2016-07-06 08:58:52
回答 3查看 6K关注 0票数 3

我需要C# winform应用程序和android本地应用程序使用DDS(数据分发服务)。每个人都可以是订阅者和撰稿人。对我来说最重要的是:

  • 高性能。
  • 易于使用和文档。
  • 支持。
  • 低廉的价格。

什么是最好的推荐产品使用- OpenSplice或CoreDX?

他们之间有什么区别?

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-07-14 13:54:14

不幸的是,我不能告诉你很多关于CoreDX,但我工作了相当一段时间与漩涡OpenSlice和RTI的Connext DDS。以下是我的经历:

几个差异

OpenSlice实现了一种联邦模型。您的应用程序在一个单独的进程中运行,DCPS通信和配置在另一个(守护进程)进程中处理。这允许清晰的分离,但也涉及到在非常高的数据速率下成为瓶颈的危险,甚至是单点故障(如果处理DCPS的进程崩溃的话)。OpenSlice还支持单进程体系结构,但这不是默认的,而且优化程度也较低。此外,OpenSlice支持两种协议:它的RTNetworking是默认的,而RTPS标准仅用于与其他供应商的RTNetworking实现互操作。

RTI Connext DDS的体系结构是完全独立的,不需要守护进程.这样做的好处是消除了单个故障点,减少了延迟。但是,同一主机上多个DDS应用程序之间的数据批处理优化比较困难,从而降低了扩展性,特别是对于较小的数据大小。

CoreDX是一个专门针对嵌入式领域的实现,也适用于单进程架构。它专注于低内存占用和延迟,甚至可以在没有主要限制的操作系统下运行。

高性能

我不知道您的性能要求,但我认为数据分发服务: OpenSplice和RTI实现的性能比较中的无偏见分析将为您提供最好的指示。它是在Connext 5.0.0和OpenSlice V5.5.1社区中进行的,因此仍然可以认为是相关的。本文分析了采样速率每秒、吞吐量( Mbps )、往返时间、内存和CPU使用情况.一般结论是,对于0到1kB的数据大小,OpenSlice的性能优于Connext,但对于大于1kB的数据,Connext的性能优于OpenSlice。很抱歉,我不能告诉你确切的数字,因为这篇论文是收费的,因此我建议你自己看一看,根据你的数据大小来决定哪一个最适合你的需要。不幸的是,我无法告诉您关于CoreDX性能的任何信息,因为我还没有找到任何经过独立验证的迹象。

易用和文档化

在这两种情况下,您将在所有语言绑定中找到一个干净和一致的API。有许多现成的执行示例和代码片段免费下载。正式的用户手册是全面的,涵盖一切你需要开始。我个人认为RTI手册要好得多,因为它充满了可以直接应用于应用程序的示例。根据我的经验,从手册开始,而不是从附带的代码开始,否则您会发现自己在细节上没有任何头绪。RTI Connext和Vortex OpenSlice的社区都很大,但人们可能会发现RTI的社区响应更快、更全面。当你在论坛上发布问题时,FAE会在大多数情况下在几个小时内给你一个合适的答案。如果您需要具体和专业的支持,不幸的是,没有办法只能购买支持许可证。

相反,CoreDX的文档只是几个页面上最需要的信息,只有很少的例子--这不是您想要的轻松开始。

低价

OpenSlice有一个社区版,但它只支持32/64位x86 Linux和32/64位x86 Windows,这意味着对于安卓上的x86应用程序,您需要一个商业版本的Connext、OpenSlice或CoreDX。确切的价格总是取决于你的需求。我知道RTI的例子,因为我联系了他们。您只能选择您真正需要的软件包,因此您将大大低于规定的8000美元左右。你也有可能申请研究和评估许可证,这不需要花费你一分钱。

安全

如果您对使用DDS的安全性和数据加密有广泛的要求,RTI Connext DDS安全是唯一的解决方案。为什么?仅仅因为它是目前唯一能充分实现OMG的DDS安全标准的产品。万一您需要它:它为您提供了宝贵的功能,用于加密您的数据和控制诸如主题的读写或连接域应用程序在全局数据空间中可能采取的操作。

On CoreDX CoreDX仅成立了几年,而OpenSlice和Connext是成熟而复杂的产品,在数百个项目中已经证明了它们的能力。我宁愿把我的钱押在一个公认的专业人士身上,也不愿把我的钱押在一个(也许)正在崛起的新手身上。

您可能还想看看其他开源的DDS实现,比如OpenDDS,但我个人认为它们不适合您的需要。

票数 10
EN

Stack Overflow用户

发布于 2016-07-07 07:48:13

我建议您看看RTI Connext DDSOpenDDS,我们和我们的客户在各种项目中同时使用,包括我们的AXCIOMA组件框架。

票数 2
EN

Stack Overflow用户

发布于 2016-07-06 16:56:35

Twin的CoreDX DDS为C#和安卓提供了支持。Android支持包括Java和C#语言API。一些客户还使用C或C++ API开发了基于C++的安卓应用程序,但这需要更多的参与。在任何情况下,CoreDX直接合成都是在安卓平台上运行的。

全面披露,我是与双橡树计算,因此,我将避免评论更主观的因素,你的问题。我只想说,我相信CoreDX在你提到的所有四个方面都是一个很好的选择。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38220008

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档