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

三刀蜀黍
 三刀蜀黍
发布于 2018年12月01日
收藏 54

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工作太多,争取不跳票)。

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:国产通信框架 smart-socket v1.4.0-rc 发布:重新定义自己
加载中

精彩评论

三刀蜀黍
三刀蜀黍

引用来自“kimmking”的评论

支持,国内开源的力量又增强了,同时说三点:
1、有没有跟netty的详细对比,性能,易用性,设计,解决了什么netty不能解决的问题等。
2、使用文档,包括api用法,demo,适合的场景,最佳实践等。
3、国内技术圈,从来都不缺轮子,缺的是社区建设,作者有什么想法。
感谢对开源的支持。作为一款存粹的通信框架,smart-socket与netty都是提供可靠的通信服务,如果要对比优劣的话,smart-socket更加轻量,学习成本低。况且作者本人英文不好,只能提供中文服务,并且是一手资源。
对于造轮子的话题,我是推荐大家拥抱它的,只有造过才能真正理解轮子的制造原理。现有的轮子不一定是最好的,也许你造的轮子跑的更快、更稳。
开源中国123456789
开源中国123456789
如果说要对比RPC性能 可能就应该和dubbo之类的专业软件进行对比, 楼主觉得呢

最新评论(8

开源中国123456789
开源中国123456789
如果说要对比RPC性能 可能就应该和dubbo之类的专业软件进行对比, 楼主觉得呢
j
jianxihk
顶顶,确实简单好用
小99
小99
不错
奶丶空瓶
奶丶空瓶
来点赞的 虽然我用netty目前边学边用,首先为啥要跟netty比活着mima比呢?为什么要决绝netty解决不了的问题?对于三点提问 我只想说能问出第一个的就呵呵了。官方demo有必要,社区的建设这个是要有的。还有说不缺造轮子的这个不假 缺的也不是社区,缺的是真心提供意见和代码的公司或者人。一直关注很久了 但是一直没用过 但是非常支持作者的态度,谢谢提供优秀的开源代码
三刀蜀黍
三刀蜀黍

引用来自“kimmking”的评论

支持,国内开源的力量又增强了,同时说三点:
1、有没有跟netty的详细对比,性能,易用性,设计,解决了什么netty不能解决的问题等。
2、使用文档,包括api用法,demo,适合的场景,最佳实践等。
3、国内技术圈,从来都不缺轮子,缺的是社区建设,作者有什么想法。
感谢对开源的支持。作为一款存粹的通信框架,smart-socket与netty都是提供可靠的通信服务,如果要对比优劣的话,smart-socket更加轻量,学习成本低。况且作者本人英文不好,只能提供中文服务,并且是一手资源。
对于造轮子的话题,我是推荐大家拥抱它的,只有造过才能真正理解轮子的制造原理。现有的轮子不一定是最好的,也许你造的轮子跑的更快、更稳。
kimmking
kimmking
支持,国内开源的力量又增强了,同时说三点:
1、有没有跟netty的详细对比,性能,易用性,设计,解决了什么netty不能解决的问题等。
2、使用文档,包括api用法,demo,适合的场景,最佳实践等。
3、国内技术圈,从来都不缺轮子,缺的是社区建设,作者有什么想法。
红白机
红白机
支持!
写给三月
写给三月
发来贺电,恭喜大版本发布
返回顶部
顶部