内容简介:smart-socket经历一年多的开源发展,受到了不少Java开发者的关注与支持。并在社区的助推下成为了一款小巧、稳健又具备超高性能的AIO通信框架,最新稳定版为v1.3.22。而该版本将成为smart-socket 1.3.X的首个TLS(长期支持)版本,各位朋友可放心使用。如果您是首次听说smart-socket,在此简要介绍一下。smart-socket是一款极简、易用、高性能的国产java AIO通信框架,也许是IM、RPC、IoT开发的最佳选择。玩转通信只有两个接口的学习成本,如果觉得nett
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.3版本中“伪0拷贝”的坑)。此前欲借鉴一下netty内存池的设计思路,因其过于复杂选择放弃。并决定重新设计一套让初学者都能快速理解、掌握的内存池模型,很幸运,成功了。
-
优化了CPU与IO资源的协调策略,性能提升了不止一点。
-
API重构,正因如此才致使与smart-socket 1.3不兼容。
-
去除了Protocol#encode接口;
-
除去了AioSession#write接口;
-
数据输出操作改为流式操作,即原先采用AioSession.write(),现在采用AioSession.getOuputStream().write();
删除了流控状态机。流控是smart-socket v1.3中服务稳定的保障,能有效应对流量攻击。未来在smart-socket v1.4中会以插件的形式提供流控服务。
精简smart-socket项目的工程结构,方便开发人员阅读源码。
代码量首次突破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工作太多,争取不跳票)。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。