内容简介:smart-socket是一款国产开源的Java AIO框架,追求代码量、性能、稳定性、接口设计各方面都达到极致。如果smart-socket对您有一丝帮助,请Star一下我们的项目并持续关注;如果您对smart-socket并不满意,那请多一些...
smart-socket是一款国产开源的Java AIO框架,追求代码量、性能、稳定性、接口设计各方面都达到极致。如果smart-socket对您有一丝帮助,请Star一下我们的项目并持续关注;如果您对smart-socket并不满意,那请多一些耐心,smart-socket一直在努力变得更好。
过去的6个多月一边维护着 smart-socket 1.3 系列版本,另一边“秘密研发(其实就是一没时间,二没能力导致拖拖拉拉)”smart-socket 1.4版本。
smart-socket 1.3版本已经具备不俗的表现,也获得了一些用户的认可,为什么还要去研发 1.4 版?因为我们希望打造一款AIO通信模型的标杆项目,让smart-socket成为通信领域开发的首选解决方案。而1.3版本还存留一些作者认为还不够完美的实现,smart-socket还可以变得更好,针对那些有待改进的部分,经过无数次推导、编码、验证之后,smart-socket 1.4.0 今日正式发布!
相较于1.3版本的极简、易用、高性能三大特性,在smart-socket 1.4中都发生了一些细微的变化。本次发布的smart-socket代码量首次突破1千行,不知您是否觉得它还配得上极简。在使用体验上只是对个别API进行调整,依旧延续了易用性。至于性能方面,通过堆内虚拟缓冲区映射堆外空间技术,以此实现的零拷贝帮助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</version>
</dependency>
更新内容
- 新增内存池。采用FirstFit内存管理算法,实现堆外内存高效分配与回收。
- 客户端AioQuickClient提供两种关闭服务的方式,shutdown:尽可能的将待输出数据写完后再关闭服务、shutdownNow:立即停止服务。
- 调整服务端AioQuickServer运行的线程模型,以获得更好的性能表现。
- 删除原AioSession中的write方法,替换为支持零拷贝的writeBuffer方法。
- 删除流控状态机。老版本中通过流控来实现服务端的自我保护,1.4版本全新的线程模型已天然解决了该问题。
- 其他API的优化调整。
- 同步了1.3版本最新版中的新增特性。
- 优化服务监控插件MonitorPlugin,支持自定义采集频率。
- 新增内存池监控插件(作者本人用于检测内存池算法是否稳定、无bug,对用户而言没什么用)。
- 补充代码示例。
- 新增了代码量。很抱歉1.4版本的核心代码量已经突破1000行了,想要研究smart-socket内核实现原理的可能要比1.3版本多花几分钟时间了。
特性
- 轻量级,核心代码量仅千行。
- 学习成本低,了解通信开发原理的学会smart-socket仅需几分钟。
- 功能聚焦,仅专注于通信本身,不存在其他多余的东西。
- 插件化,支持自定义插件。默认提供了心跳插件、断链重连插件、服务监控插件、黑名单插件、内存池监测插件。
性能测试
-
本机压测
smart-socket可以在本机轻松达到几百万的QPS,本机压测的数据是不走网卡的,我们主要为了验证CPU和IO的资源利用率。如下图所示,在普通笔记本上跑出了 200W 的QPS,产生的数据流量 137MB/s。

smart-socket 1.3的后续规划
因为smart-socket 1.4刚发版,并未有实际生产环境应用案例,所以1.3版本依旧是我们的线上主推版本。如果您愿意将 smart-socket1.4 应用于生产环境,有任何疑惑都可随时联系作者寻求技术支持。 后续smart-socket新增的功能只要能兼容历史版本,我们都会同步更新至1.3系列。
最后
感谢各位朋友一直以来给予smart-socket的支持和帮助,让我们共同见证smart-socket的成长。如果您手头还有多余的 Star,不妨给smart-socket加一个:https://gitee.com/smartboot/smart-socket
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
啊哈C语言!逻辑的挑战(修订版)
啊哈磊 / 电子工业出版社 / 2017-1 / 49
《啊哈C语言!逻辑的挑战(修订版)》是一本非常有趣的编程启蒙书,《啊哈C语言!逻辑的挑战(修订版)》从中小学生的角度来讲述,没有生涩的内容,取而代之的是生动活泼的漫画和风趣幽默的文字。配合超萌的编程软件,《啊哈C语言!逻辑的挑战(修订版)》从开始学习与计算机对话到自己独立制作一个游戏,由浅入深地讲述编程的思维。同时,与计算机展开的逻辑较量一定会让你觉得很有意思。你可以在茶余饭后阅读《啊哈C语言!逻......一起来看看 《啊哈C语言!逻辑的挑战(修订版)》 这本书的介绍吧!