服务器和服务器之间通讯,我该用rmi还是socket?

08-12-12 freepig
         

目前我参与了一个JAVA实时系统的开发,由于服务器端是分布式部署,多个服务器之间需要频繁传递数据。

现在我决定用socket和rmi两个中选一种技术来实现服务器之间的通讯。

如果用socket的话,需要自己封装协议来处理不同的通讯请求,但效率要高些。

如果用rmi的话,实现要简单,但效率可能要低些。

考虑到服务器都是部署在本地,并非远程部署,这样的话是否可以忽略rmi带来的效率影响呢?

希望大家都来发表下意见或者有过类似经验的朋友指点。。。。

貌似这里的牛人比较多呢?

[该贴被admin于2009-03-16 09:45修改过]

         

ACoder
2008-12-12 21:34

rmi即可

IceQi
2008-12-13 11:58

在绝大多数可见的应用场景中RMI都是可行的解决方案,实现socket的代价太大了。

如果顾及网络的性能,那么首要考虑的是那些数据是必须交换的。

ygang76
2009-04-10 14:45

建议使用自定的协议,因为有可能服务器会采用别的语言开发。

banq
2009-04-16 09:28

树立可伸缩的设计概念是最重要的,socket太底层,如果将来分布式计算,你需要自己编写基于socket的分布计算。

RMI=socket +object 也比较底层。

所以,建议对你实时系统进行架构设计,选择合适分布式计算框架如javagroups或terrcotta兵马俑等内存并行计算。只有根据业务进行特定的性能设计,没有一劳永逸的产品或解决方案。

2Go 1 2 下一页