分布式编程技术

时间:2011-01-16 16:47:05

标签: c# java c++ distributed

我正在寻找一种旨在构建分布式应用程序的技术。我的朋友建议我使用CORBA(Java& C ++组合)。但我已经把它看作是过时的东西了。我打算编写相当简单的分布式应用程序。您建议使用哪些解决方案?谢谢!

8 个答案:

答案 0 :(得分:1)

CORBA很老了。要选择一个库或框架,问题是:为什么要分发它? (目标是什么?性能/并行化?可扩展性?对系统各部分位置的物理限制?)哪种节点将运行各个部分?你更喜欢用哪种语言?

答案 1 :(得分:1)

推荐使用ICE(Internet Communications Engine),ICE可以支持多种操作系统平台(Windows,Linux,Solars,Mac OS,iOS,Android ......),多种开发语言(C ++,Java,.NET,Python, Ruby,PHP),它更简单。

答案 2 :(得分:1)

如果您想将代码逻辑分发到多个服务器并将其作为单个实体进行管理,我建议您从Appistry中CloudIQ Platform。您可以将Java,.NET和C / C ++代码部署到框架中。从管理角度来看,服务器可以作为一个整体运行。当您提交执行请求时,框架会将请求分发给最佳可用工作程序,从而执行负载平衡。使用此框架,您可以拥有生产者/消费者,分散/聚集和其他并行类型的作业。

该框架还监视作业的执行情况,因此如果存在任何类型的硬件故障,其他计算机将分配在故障服务器上运行的作业。

答案 3 :(得分:0)

您可以使用SOAP Web服务。我目前正在开发Python和分布式测试系统。 .NET使用SOAP,易于编写和部署。

针对不同的语言和平台,有许多不同的SOAP服务器/客户端库。

答案 4 :(得分:0)

是的,CORBA,以及COM和DCOM等技术都已经过时了......我不确定你想要完成什么,但我会考虑使用.NET远程处理来构建分布式应用程序。如果您的应用程序非常简单,您甚至可以使用邮件槽或命名管道在网络上传递简单数据。

答案 5 :(得分:0)

正如sinelaw所提到的,在提出好的建议之前还有很多问题,但是,您可能希望将REST(http://en.wikipedia.org/wiki/Representational_State_Transfer)视为在应用程序之间传输数据的一种方式。 REST非常好,因为它可以接受和返回的是灵活的,例如,您可以上传文件并返回PDF。虽然它在http上使用,但这不是唯一允许的协议。它与语言/平台无关。

如果您想要使用标准化的东西,那么SOAP或REST可能是您最好的选择,如果您想要与平台无关。如果您不介意仅限于Java / JVM或.NET,那么还有其他选择,但这会变得非常有限。

正在传递什么类型的数据?安全性有多重要?应该使用哪些平台/语言?该计划的目的是什么,目标是什么?

答案 6 :(得分:0)

如果您想要一个也可以与不同协议一起使用的便携式解决方案,Mono上的WCF可能非常适合

答案 7 :(得分:0)

对于.Net,我建议你使用WCF,它实现起来非常简单,而且非常灵活,而且如果你的目标是了解深度分布式应用程序,它是一个很好的选择,但它不是更适合真正的项目,目前非常困难找到掌握CORBA的开发人员。