分析JBoss Remoting

Java领域中的分布式框架比较的多,分析一个已有的远程调用框架无论是对于打算采用已有成果还是自己做分布式框架,都是很必要的事情,JBoss Remoting是其中很好很强大的一个框架,在此来对JBoss Remoting进行深入的分析,看看JBoss Remoting是如何基于java.net提供的包去解决这些问题的,本文所分析的JBoss Remoting源码的版本为2.2.2_SP2,本来以为会是篇不怎么长的文档,没想到还没写的详细和深入的时候就已经有三十多页了,也不好在这里直接贴出来,就把文档目录和最后的总结部分贴在这了,感兴趣的同学们可以从这个地址下载PDF版本的文档:http://www.riawork.org/opendoc/JBoss.Remoting.Opendoc.pdf
目录:
1 分布式应用概述
2 分析JBoss Remoting
   2.1 Socket方式远程调用
   2.2 多种调用方式的支持
   2.3 远程加载class的支持
   2.4 高并发下的稳定性
   2.5 异常处理
   2.6 提高性能
   2.7 集群的支持
3 学到了什么
4 总结

总结

从对JBoss Remoting的分析中,分布式应用带来的需要深入学习的知识体系较之集中式的应用多了很多,最基础也最明显的涉及到的知识体系有:网络通讯(涉及到的有协议、网络I/O等)、java网络编程(java.net包、NIO等)、序列化机制、并发编程、池技术等,就这些知识点每个拓展开来讲都可以讲成大篇甚至一本书的范畴,对于大型分布式应用而言,涉及的知识体系就更多了,例如还需要掌握cluster环境下的处理(很多东西到了集群环境下复杂程度绝对是需要以翻倍来计算的,而且很多现在的处理方式都会变得不可用)、load balance策略等,本文也只是对JBoss Remoting的一些基本以及关键的特点进行了分析(最开始的时候打算叫深入分析JBoss Remoting的,不过写到最后发现其实还有很多细节和深入的部分并没有写,因此还是改名叫分析JBoss Remoting了),其中其实还有很多细节是值得研究和学习的,希望有研究的同仁们贡献出其他方面的研究或指出本文错误的地方,非常感谢。

大型的分布式应用中不可能要求每个开发人员都去掌握这些知识体系,因此对于大型分布式应用而言,提供一个分布式的框架是非常有必要的,做到将分布式应用涉及的相关知识点尽量的剥离,就像Erlang,做到将并发的基础知识分离。

JBoss Remoting解决了很多分布式应用所需面对的问题,是目前可选的开源分布式框架中一个很不错的选择,并且其在保证高并发场景下的稳定性和性能提升上也做了很多的工作,但还是有很多可提升的空间,例如统一的远程调用的API上(还可以进一步加强透明化的oneway、异步的调用)、NIO的支持、异步调用的提升(或者可以考虑提供结合MQ实现的异步调用)等等,而如果要成为大型分布式应用的支撑平台,无论是性能上还是功能上,JBoss Remoting还有不少需要改进和提升的地方。

分布式应用较之集中式应用在对象的接口的设计和使用上也有了更高的要求,例如不要出现依靠参数引用传递来隐性的填充一些值、远程对象应是线程安全的、尽量不要出现频繁调用远程对象的现象、尽量减少往返传输大对象的现象等等细节。

分布式应用对比集中式应用而言,无论是开发还是支撑框架上都复杂了很多,因此尽管分布式应用相对集中式应用而言,能够带来机器配置要求降低、系统结构更加清晰和松耦合、降低维护的复杂度等等优点,但还是应该做到能不分布式就尽量不要分布式。

posted on 2008-05-04 21:54 BlueDavy 阅读(5771) 评论(11)  编辑  收藏 所属分类: OSGi、SOA、SCA

评论

# re: 分析JBoss Remoting 2008-05-04 22:47 江南白衣

发现你和文殊写的技术文档都好长啊,而且写的条理清晰,文字易读,8岁到80岁都看得懂啊。而且感觉你们上班好幸福。

嘿嘿,基于和你差不多的原因,去年初也关注过这个JBoss Remoting,不过后来转项目就没再管了。感觉这个项目有点独哦,用它和用ICE之类的差不多。不过Java当年EJB太强势了,打倒之后真没有一个好的cluster环境下的代用品,郁闷。  回复  更多评论   

# re: 分析JBoss Remoting 2008-05-04 23:26 BlueDavy

@江南白衣
...白衣同学,俺的文笔比你可是差了N远了...
^_^,不如考虑来我们这?
是滴,JBoss Remoting是个可以独立使用的项目,也是JBoss AS系列中非常关键的东西了,嗯,cluster环境下的东西要找到一个基本不太可能了,商业可得靠这个赚money的嘛。
  回复  更多评论   

# re: 分析JBoss Remoting[未登录] 2008-05-05 09:32 agile

研究代码的过程也是自身提高的过程,向你学习!  回复  更多评论   

# re: 分析JBoss Remoting 2008-05-05 09:41 BeanSoft

Spring 也终于开始回归 Java EE 大家庭了,不再叛逆了。。。毕竟,它只是个不完整的实现。不得不说 EJB 之类的技术,还是相当的核心,一如用图形算法作出3D Game。  回复  更多评论   

# re: 分析JBoss Remoting 2008-05-05 11:22 dennis

@BeanSoft
spring回归了吗?spring越走越远了吧  回复  更多评论   

# re: 分析JBoss Remoting 2008-05-05 13:23 BeanSoft

只做个微容器怎么挣钱啊?现在一卖都是解决方案,打包,一大堆产品,安装包几百兆,看看SpringSource公司推出的产品线(不要看Spring主页,那只是开源了一部分)就明白了。另:SprnigSource 已加入 JCP,协商制定 Java EE 6规范。  回复  更多评论   

# re: 分析JBoss Remoting 2008-05-23 09:40 rason

我想用JBOSS Remoting替换现在的RMI,主要是在OSGI中,用RMI太麻烦。
问题也比较多。
不知是否可行,试试先。  回复  更多评论   

# re: 分析JBoss Remoting 2008-07-06 15:17 Java.net

能否讲讲JBoss Remoting实际中的应用?比如如何与JBoss、Tomcat一起使用?  回复  更多评论   

# re: 分析JBoss Remoting 2009-06-10 09:18 Maven

你这最后一句的无论。。因此。。但。。
实在是经典的诱惑啊  回复  更多评论   

# re: 分析JBoss Remoting 2010-07-27 15:00 雷博弈

BlueDavy 你好! 我能否有Jboss-Remoting来监控JBOSS服务器上数据库的连接?具体怎么实现?如果用时间,请指点一下。我的邮箱是:leiguomin627@126.com 十分感谢。
  回复  更多评论   

# re: 分析JBoss Remoting 2015-03-11 11:17 grucee

你好,文章中贴出来的pdf不能下载,能否给我发一份,546401099@qq.com 谢谢了  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 

公告

 









feedsky
抓虾
google reader
鲜果

导航

<2008年7月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

统计

随笔分类

随笔档案

文章档案

Blogger's

搜索

最新评论

阅读排行榜

评论排行榜