国产通信框架 smart-socket v1.4.0-rc 发布:重新定义自己

smart-socket经历一年多的开源发展,受到了不少Java开发者的关注与支持。并在社区的助推下成为了一款小巧、稳健又具备超高性能的AIO通信框架,最新稳定版为v1.3.22。而该版本将成为smart-socket 1.3.X的首个TLS(长期支持)版本,各位朋友可放心使用。

<!-- https://mvnrepository.com/artifact/org.smartboot.socket/aio-core -->
<dependency>
    <groupId>org.smartboot.socket</groupId>
    <artifactId>aio-core</artifactId>
    <version>1.3.22</version>
</dependency>

如果您是首次听说smart-socket,在此简要介绍一下。smart-socket是一款极简、易用、高性能的国产java AIO通信框架,也许是IM、RPC、IoT开发的最佳选择。玩转通信只有两个接口的学习成本,如果觉得netty门槛太高,那就来试试smart-socket吧。

从今天开始,smart-socket正式步入1.4时代,本次发布的版本号为:v1.4.0-rc,很遗憾不兼容老版本。在1.4版本中,我们加入了一些新的特性,并对原先的设计做了如下调整:

  1. 设计了一套内存池模型,实现了真正意义上的零拷贝(填补了1.3版本中&ldquo;伪0拷贝&rdquo;的坑)。此前欲借鉴一下netty内存池的设计思路,因其过于复杂选择放弃。并决定重新设计一套让初学者都能快速理解、掌握的内存池模型,很幸运,成功了。

  2. 优化了CPU与IO资源的协调策略,性能提升了不止一点。

  3. API重构,正因如此才致使与smart-socket 1.3不兼容。

    • 去除了Protocol#encode接口;

    • 除去了AioSession#write接口;

    • 数据输出操作改为流式操作,即原先采用AioSession.write(),现在采用AioSession.getOuputStream().write();

  4. 删除了流控状态机。流控是smart-socket v1.3中服务稳定的保障,能有效应对流量攻击。未来在smart-socket v1.4中会以插件的形式提供流控服务。

  5. 精简smart-socket项目的工程结构,方便开发人员阅读源码。

  6. 代码量首次突破1000。从起初的500多行到后来v1.3.22版本的800多行,smart-socket的成长速度肉眼可见。

Maven地址

<!-- https://mvnrepository.com/artifact/org.smartboot.socket/aio-core -->
<dependency>
    <groupId>org.smartboot.socket</groupId>
    <artifactId>aio-core</artifactId>
    <version>1.4.0-rc</version>
</dependency>

性能表现

戳这里前往,Ctrl+F 搜一下smart-socket,这是最近的一次测试结果,下一轮会有更好的表现。

总结

如果您对smart-socket感兴趣请持续关注,若工作中有需求请暂且使用1.3.22版本。今日发布的v1.4.0-rc是一次新的尝试,力求实现自我突破。目前算是成功的迈出了第一步,在吸取社区的反馈意见并加以完善后,相信v1.4.0正式版不久之后便会跟大家见面,尽情期待。

有位名人说过:点赞是参与开源社区的最基本礼仪!https://gitee.com/smartboot/smart-socket

小彩蛋:由作者本人亲自整理的《smart-socket 权威指南》即将于年底与大家见面(Q4工作太多,争取不跳票)。

猜你喜欢

转载自www.oschina.net/news/102292/smart-socket-1-4-0-rc-released