基于服务的并行系统的通讯方式探讨
来源:互联网 发布:铣削力计算软件 编辑:程序博客网 时间:2024/06/09 11:02
作者:朱金灿
来源:http://blog.csdn.net/clever101
最近在设计一个基于服务的并行系统。架构图大致如下:
和同事讨论后,服务器部署的Java Web服务,计算节点上部署的是C++算法或其它语言算法。毫无疑问二者需要一个中间协议或中间层进行通讯。同事建议的方案是Java WebService+ Java服务程序(Jacob)+ com中间层+算法模块,其中Java服务程序+ com中间层+算法模块部署在计算节点上,Java WebService通过rmi和Java服务程序通讯,Java服务程序通过Jacob和com中间层通讯,com中间层再和算法模块通讯。
我的方案是:Java Web+客户端C++服务程序+com中间层+算法模块,其中计算节点C++服务程序+com中间层+算法模块部署在计算节点上,Java WebService通过socket和计算节点C++服务程序通讯,计算节点C++服务程序通过com中间层和算法模块通讯。
他的理由是rmi是成熟的java通讯技术,且可以直接调用远程对象,使用很方便。Java通过socket和C++程序通讯将会遇到很多难以解决的问题。
我的理由是Java通过socket和C++程序通讯肯定也有很多程序的做法,虽然不如rmi使用那么方便。如果计算节点是Windows平台,C++可以直接调用com中间层,并不需要jacob这样的中间层(jacob的并发性差也颇被人诟病的),如果计算节点是Linux平台,Java服务程序需要使用jni之类的中间层和C++算法模块通讯,而C++服务程序可以直接和C++算法模块通讯,这样就避免了同时维护jacob和jni两个通讯中间层。可能开始Java通过socket和C++程序麻烦些,但避免了后期维护的麻烦。
- 基于服务的并行系统的通讯方式探讨
- 基于 EventAdmin 服务的 Bundle间通讯
- 基于GIS的北京市信息服务系统(2)——技术探讨
- 基于虚拟仪器的通讯系统的设计
- 探讨基于SOAP的Web服务攻击及防范
- OpenRS—— 开放式遥感数据处理与服务平台 OpenRS-Cloude:基于MapReduce的并行遥感处理系统
- OpenRS—— 开放式遥感数据处理与服务平台 OpenRS-Cloude:基于MapReduce的并行遥感处理系统
- 对一种基于CAS的Singleton实现方式的探讨
- 基于JMS消息中间件的分布式系统初探究(一) - 通过JMS实现Web服务器与服务框架的通讯
- 基于多线程技术的PLC与PC的通讯方式
- 服务间的通讯
- 基于插件的服务集成方式
- 基于UDP的通讯
- 基于Cocoon的应用(二)及系统权限探讨
- 基于Cocoon的应用(二)及系统权限探讨
- 基于ODS技术的政务信息系统方案探讨
- 关于分布式系统架构模块通讯方式选择的问题
- 关于分布式系统架构模块通讯方式选择的问题
- rails3 常用插件
- Ubuntu14.04 安装JDK8
- 日志文件支持unicode字符的做法
- Yii:在ajax刷新中使用CJuiDatePicker日期控件
- Fraction to Recurring Decimal
- 基于服务的并行系统的通讯方式探讨
- Map、List测试
- hibernate envers
- 第六届蓝桥杯java试题-三角形面积
- 前端功能资料
- vmware kali Linux 分辨率调整
- HDOJ 题目3449 Consumer(背包)
- 关于php调试的一些纪录
- 题目1118:数制转换 C++/Java