抖音技术能力大揭密!钜惠大礼、深度体验,尽在火山引擎增长沙龙,就等你来! 立即报名>> 了解详情
写点什么

xSocket 力求保持 NIO 的简单性

2008 年 5 月 04 日

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: 是否打算与 JBoss Glassfish 等进行集成?就像 Grizzly 已经做的那些?

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

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

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

2008 年 5 月 04 日 03:042394
用户头像

发布了 151 篇内容, 共 54.0 次阅读, 收获喜欢 16 次。

关注

评论

发布
暂无评论
发现更多内容

英特尔发布第二代Horse Ridge低温量子控制芯片

新闻科技资讯

【技术分享】浅谈RTC及Agora RTC SDK集成介绍

Hanson

训练营第七周作业

大脸猫

极客大学架构师训练营

接口测试怎么进行,如何做好接口测试

测试人生路

软件测试 接口测试

跨架构编程不再难,英特尔机器编程工具迎来重磅更新

新闻科技资讯

国产电子表格Luckysheet后台也开源了!支持在线协作,一键docker私有部署

奇异石榴果

Java Excel SpreadJS 表格控件

想了解任务型对话机器人,我们先从自然语言理解聊起

华为云开发者社区

人工智能 机器人 自然语言

英特尔神经拟态生态系统发展和研究的最新进展

新闻科技资讯

ONES 收购知名协作工具 Tower

万事ONES

团队协作 高效 研发管理工具 收购 资讯

1分钟解密:博睿大数据核心引擎Bonree Zeus六大优势

博睿数据

加码线下,新荣耀“破题”场景经济

脑极体

一个真正0基础小白学习前端开发的心路历程

华为云开发者社区

开发 开发小白 0基础

IntelliJ IDEA 2020.3正式发布,年度最后一个版本很讲武德

YourBatman

IDEA 新特性 2020.3

腾讯大牛整合Java+spring5系统学习架构,神乎其技

小Q

Java 学习 编程 面试 spring 5

即使不会node.js,拖拽就可完成数据的可视化展示

华为云开发者社区

node.js 数据 可视化

架构师训练营第 11 周课后练习

叶纪想

极客大学架构师训练营

给你一个亿的keys,Redis如何统计?

不才陈某

redis

ONES 收购 Tower,五源资本合伙人对话两位创始人

万事ONES

项目管理 团队协作 ONES Tower 收购

《前端实战总结》之使用CSS3实现酷炫的3D旋转透视

徐小夕

css3 前端 前端工程 CSS小技巧

架构师训练营第 1 期 -week11

习习

《技术男征服美女HR》—Fiber、Coroutine和多线程那些事

太白上仙

Java 程序员 面试 后端 多线程

Linux平台中调试C/C++内存泄漏方法 (腾讯和MTK面试的时候问到的)

linux大本营

c++ Linux 后台开发 架构师

面试无忧:源码+实践,讲到MySQL调优的底层算法实现

996小迁

Java 架构 面试

性能压测

jorden wang

新闻|Babelfish使PostgreSQL直接兼容SQL Server应用程序

PostgreSQLChina

数据库 postgresql 开源

已拿腾讯后台开发岗offer,简单说下自己的面试经历和学习路线

程序员小灰

c++ 后台开发 架构师 TCP/IP Linux服务器开发

微软最强 Python 自动化工具开源了!不用写一行代码!

星安果

Python 微软 自动化 自动化测试 playwright

javascript开发后端程序的神器nodejs

程序那些事

Java nodejs 后端开发 koa 程序那些事

关于binlog,这个参数能不能用?

Simon

MySQL Binlog

挑战赛 | 话题王者VS互动先锋(第一季)

InfoQ写作平台官方

话题讨论 活动专区

英特尔推动集成光电的发展,用于数据中心

新闻科技资讯

Study Go: From Zero to Hero

Study Go: From Zero to Hero

xSocket力求保持NIO的简单性-InfoQ