八卦一下。。。整个rmi的问题

08-04-15 Ericx
              

闲来没事。。看了看ehcache的源代码。。。
发现他的distribute cache支持是采用的rmi作为组播或Notification的实现方式。。。我不怎么理解rmi哈,反正如果让我做的话,我肯定会用传统的网络实现,rmi有什么好处呢?有没有研究过其他distribute 组件的朋友,rmi这东西好像很久没有登上舞台了哈,,
是老外爱鼓弄这古董技术,还是国内人偏重于应用开发,对这些基础技术不怎么了解很正常??

知道的朋友指点下哈。。rmi这东西我还在看01年O reilly的Java RMI。。。
好像是有点老哈

              

Ericx
2008-04-16 12:32

使用JMS也是个选择阿,为什么偏偏要用rmi?

banq
2008-04-16 18:25

RMI是一个同步通讯方式,EJB集群以及远程客户端调用都是基于RMI,RMI是EJB基础。

JMS是异步通讯方式,同步和异步取决于应用场景。

Ericx
2008-04-18 20:50

不过国内好像搞这东西的不是很多哈,,怎么总感觉没人提起呢。。
看来还是搞搞,为以后搞EJB 的原理打点儿基础阿。。。
有没有高手指点一下啊

banq
2008-04-19 08:57

RMI确实是Java很重要的一个基础概念,它实际是Proxy模式的体现,使用RMI,我们可以在编程时,无需关心A服务器对象如何调用B服务器对象,而在编程时,看成这些对象是在一个JVM中调用,部署运行后,实际是就多台服务器上运行,这就大大简化了编程的工作量,说白了,RMI可以将对象在多台服务器之间传送,通过RMI调用对象,可以象普通在本地调用对象一样,这是分布式计算和OO结合的一个了不起的技术,EJB就是利用了这些优点。

至于你感觉国内搞不是很多,那是因为使用EJB就有RMI了,只有在一些特殊情况下,比如我可能只需要EJB的分布式多计算机计算功能,不需要其分布式事务等功能,那么就可能需要直接使用RMI了,这就是组件的个性化使用,象一些分布式缓存也是使用RMI达到多服务器的集群,现在开始谈云计算cloud computing,RMI类似模式是缺少不了的,这也是OO思想在大型计算机群中的一个基础模式。

国内用不多还有其他原因,比如都是单机使用,都是围绕数据库的集中式主机系统,负载都集中到了数据库,成天想着如何提高中心数据库处理能力,没有想到使用性价比高的分布式计算,更没有想到将数据库系统变成OO系统,这两个条件缺一不可,分布式+OO就是一个崭新划时代的架构,很多人还停留在上个世纪。

另外,RMI和Web服务区别在于,RMI只能运行在Java平台,但是RMI无疑性能要高,没有XML的转换,高性能换来兼容性。
[该贴被banq于2008-04-19 10:20修改过]

3Go 1 2 3 下一页