加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

设计一个美好的服务器--MINA、CXF、Mule、JBoss/Geronimo

发布时间:2020-12-17 02:51:37 所属栏目:安全 来源:网络整理
导读:作者:江南白衣,原文地址:http://blog.csdn.net/calvinxiu/archive/2007/04/28/1588852.aspx,版权所有,转载请保留 假如冬夜,一个旅人,要开发一个美好的Java后台服务器。 所谓美好,就是要高性能,千万级的用户;高可靠性,failover虽死犹生;高扩展性

作者:江南白衣,原文地址:http://blog.csdn.net/calvinxiu/archive/2007/04/28/1588852.aspx,版权所有,转载请保留

假如冬夜,一个旅人,要开发一个美好的Java后台服务器。

所谓美好,就是要高性能,千万级的用户;高可靠性,failover虽死犹生;高扩展性,跟周围那帮Tuxedo,IBM MQ,WebService的邻居要好好打交道。这是个毫无个性,几乎每次都一样的需求。

Java的开源世界为那些心里不安的设计师们,准备了MINA、CXF、Mule和JBoss/Geronimo。

1、MINA

一个优秀的NIO框架。ACE式的NIO和线程模型,filter chains机制,IO层与protocol层的分离,设计师们可以依赖着开发高性能的自定义协议TCP/IP服务器。

其他框架:Grizzly,脱胎于Glassfish的NIO框架,性能好像比MINA还好一点。

2、CXF

前身就是XFire,一个完整的Web Service Framework:

  • HTTP,JMS,and Jabber 的Transports
  • SOAP,REST and Corba的Binding
  • JAXB 2.0、 XML Beans、Castor and JiBX的DataBinding
  • Support? JAX-WS2.0、CORBA,SCA与JBI

可以部署在:

  • Standalone java server
  • Tomcat or Spring-based 的轻量级容器
  • Weblogic、WebSphere、JBoss的J2EE容器
  • ServiceMix,OpenESB的JBI容器
  • Tuscany的SCA容器

设计师们可以学习它眼花缭乱的机制,从一个Stand alone,ad Hoc协议的服务器,开始支持更多更公共的endpoint,也把自己作为一个Module,部署到更大更稳健的服务器之中。

3、Mule

???? 作为Enterprise Service Bus (ESB) and Messaging broker,能力就夸张了:

  • 可插入的连接方式 such as WebService,JMS,VM (embedded),JDBC,TCP,UDP,multicast,http,servlet,SMTP,POP3,file,XMPP.
  • 同步,异步,request-response的请求模式。
  • Client/Server,Peer-to-Peer,ESB的拓扑模式。
  • 大量的Routing,Transform选择
  • Enterprise Integration Patterns的遵循者。
  • SEDA processing model的高性能模式。
  • SpringBPM的整合。

????面对这样一个诱人的ESB方案,看起来比前面的CXF模式更加合适,那如何应用?和业界一样的踌躇。

4、JBoss?/ Geronimo

?????地球人都知道这是两个应用服务器,特别在于,它们都有某种良好的插件机制,将EJB Container,Servlet Container,JMS 模块作为Module部署到服务器中,成为服务器的一种能力。

??? JBoss的每个Service就是一个MBean,配合一个service描述文件。Geronimo更是著名的以GBean作为底层架构,跑马圈地的把开源社区的方案集合在repository目录中,玩票式的组成了一个通过J2EE 1.4认证的应用服务器。

??? 我们自写的服务,可不可以也通过相同的机制,嵌入到JBoss/Geronimo之中,从而直接拥有了应用服务器的其他一切能力,就像把Tomcat建于JBoss? MicroKernel之上,拥有JBossJTA,JBoss Cache能力的JBoss Web??? Labourey说:“Microkernel 是JBoss 的心脏。现在有许多电讯公司使用Microkernel ,用作其服务器应用软件的基础”看来自己并没有发明创造:(

其他服务器:Glassfish

5.世界的其他角落

  • Tuscany?SCA 的开源实现,IBM与BEA联手贡献。
  • Esper?Event-Driven Application Servers。
  • GridGain?开源网格计算平台,集成Spring,JBoss。

6.小结

??? MINA提供了工具,Mule/JBoss/Geronimo提供了容器, CXF/Mule提供了模式,而这些都还仅是Java开源社区的冰山一角,回望那个只有ICE和ACE/TAO的孤寂世界.......

二、开动:

1、入门文档

  • MINA Presentation Materials
  • CXF Architecture Guide
  • Mule Developers GuideMuleCon 2007
  • Geronimo Architecture
  • The JBoss 4 Application Server Guide?

2、阅读代码
??????? 阅读只是为了发掘文档里没有描述的架构与模式,而其实很多模式在代码里都很显眼,来来去去就那几道斧子,所以有了快速略读的可能,而不是Apache源码阅读式的愚公移山,精卫填海。

设计美好的服务器系列文章:

  • 设计一个美好的服务器--MINA、CXF、Mule、JBoss/Geronimo
  • 设计美好的服务器II--站在JBoss MicroKernel上
  • 轻的,谁都会写的Service方案--REST与JSON
  • 设计美好的服务器(4)--Mule ESB笔记

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读