基于服务的并行系统的通讯方式探讨

作者:朱金灿

来源: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++程序麻烦些,但避免了后期维护的麻烦。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

clever101

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值