InfoQ

新闻

xSocket力求保持NIO的简单性

作者 Craig Wickesser译者 王丽娟 发布于 2008年5月4日 上午3时4分

社区
Java
主题
发布
标签
Java SE
Gregor Roth最近发布了xSocket 2.0,这是一个基于NIO的用来构建高性能、可扩展网络应用的Java库。InfoQ有机会采访了Gregor,并了解到xSocket的历史、最新发布、及今后的计划。

InfoQ:xSocket的发展历史是怎样的?

Gregor Roth:xSocket的最初版本是一个高性能SMTP服务器评测项目的副产品。通用的、NIO相关的网络代码被重新实现了一下,成为了xSocket。2006年7月发布了 xSocket的第一个公开版本(V0.8)。在xSocket 1.0中,API已被完全重新设计。xSocket随后的一些的版本(V1.1和1.2)通过添加新的方法、类、功能增强了API。

InfoQ:2.0中主要的新功能或修复的缺陷是什么?
GR:除了一些细微的变化、重命名、及移除废置的工件之外,xSocket V2.0主要的API与xSocket V1.2的API是一致的。最重要的变化是新扩展的模块和重新实现的内部组件。

xSocket V2.0主要的发布说明有:

  • [API]通过移除废置的工件和细微的变化整理了API。
  • [API]新的执行注释支持。基于新的执行注释,用户能清楚地规定其网络处理器中的回调函数应该以单线程的模式执行还是多线程的模式执行。
  • [部署]xSocket二进制包现在符合OSGi。
  • [监控]改进的JMX-Monitoring。
  • [性能]重新实现了xSocket的底层代码,以此获得显著的性能提升。
  • [SSL]重新实现的SSL支持。
  • [资源]通过自动分离、重新连接Socket的SelectionKey到Selector来提升挂起和恢复读支持,这能减少所需的资源。
新扩展的模块有(预览版):
  • xSocket-multiplexed,支持一个物理TCP连接之上运行的多个逻辑连接。
  • xSocket-http,支持编写同步、异步的HTTP客户端和服务器组件。xSocket–http包括一个HttpClient,而且通过提供异步的、流技术的API,有利于编写像HTTP代理、COMET服务器应用程序一样的基于事件的HTTP网络组件。

InfoQ:xSocket今后的计划是什么?

GR:Socket 2.x:

  • 更进一步的的性能优化(改进的NIO级文件流支持,……)
  • [xSocket-http]改良的COMET支持(支持Bayeux协议,……)
xSocket的下一个主版本(V3.0)将使用NIO.2的特性(NIO.2将会成为JSE 1.7的一部分)。

InfoQ: 是否打算与JBossGlassfish等进行集成?就像Grizzly已经做的那些?

GR:目前还没有具体的集成计划。

如果你有任何关于xSocket的问题,或是想向Gregor反馈信息,你可以通过邮件gregor.roth[at]googlemail.com联系他。你也可以找到更多的使用xSocket进行异步HTTP和Comet架构的信息。

查看英文原文:xSocket Aims to Keep NIO Simple

相关赞助商

InfoQ中文站Java社区,关注企业Java社区的变化与创新,通过新闻、文章、视频访谈和演讲以及迷你书等为中国Java技术社区提供一流资讯。

没有回复

回复

独家内容

从卓越工程角度看微软中国开发团队的成长

开发团队的成长离不开优秀的人才,简捷有效的流程和高效率工具这三个卓越工程系统中的重要因素。本文作者从这三个因素分析了微软中国开发团队是如何“从优秀到卓越”的。

利用Ruby简化你的Java测试

本文是Productive Java with Ruby系列文章的第一篇,我将从单元测试这个话题开始,让Java的开发人员能够在实际工作中利用Ruby提高工作效率。

与赵进聊SaaS

InfoQ中文站有幸与阿里软件的首席架构师赵进在一起探讨了SaaS的相关话题,包括SOA和ASP与SaaS的异同、云计算、SaaS的前景、它的关键技术、技术瓶颈等等。

在ESB中选择路由还是编配?

在这篇文章中,Adrien Louis和Marc Dutoo在一个典型的ESB场景中讨论了编配和路由的区别和优缺点。他们讨论了几种连接服务的方法,从使用如自定义路由这样的低级别方法,到使用如工作流和编配这样面向业务的高级别方式,并总结说不存在“一边倒”的解决方案。

分布式系统中的一致性和可用性

本文是根据7月26日InfoQ中文站在杭州举行的QClub活动(第三期)后半程小组讨论总结而成。主要内容包括如何在SOA系统中实现服务编排,如何保证分布式系统中的一致性和可用性,以及如何在实施SOA的过程中控制接口的粒度等。

虚拟化导论

人们很容易想当然的以为虚拟化技术仅仅应用于服务器。而在现实中,虚拟化这一苏醒的概念正被运用于各个层面,其中包括网络,存储以及应用基础架构。在这篇导论中,InfoQ将深入每个方面,详尽向您描述虚拟化技术的运用以及其优点与不足。

用户故事估算技巧

作为开发者,同时也是ThoughtWorks的咨询师,Jay Fields总结了自己估算用户故事的有效技巧。

InfoQ案例研究:纳斯达克市场回放

在这篇案例研究中,InfoQ对Adobe AIR和Amazon的简单存储服务(Simple Storage Service ,S3)在NASDAQ市场回放程序(NASDAQ Market Replay)中的应用进行了详细的分析。