查看原文
其他

talent-aio —— 即时通讯框架|软件推荐

2017-02-01 开源中国

talent-aio 是基于 java aio 实现的即时通讯框架,源于作者另一个久经考验的 talent-nio 框架,但在易用性、性能及代码可读性方面又远远超越了  talent-nio(最好的东西才拿来分享,所以 talent-nio 并不会开源)。同类框架有netty和mina。


愿 景

成为即时通讯界的JFinal框架(简洁易用又不失灵活),并且以本框架为基础开发出众多可以开箱即用的应用。


应用场景

IM、实现各种网络应用层协议(如http、ftp等公有协议,也可以自定义私有协议)、实时监控、RPC等


特 点

极简洁清晰易懂的API:无需各种折腾,只需花上30分钟学习helloworld就能很好地掌握并实现一个性能极好的即时通讯应用


● 极震撼的性能

● 可同时支持10万级tcp长连接,彻底甩开业界当年的c10K烦恼

● 收发200万条消息(约137M),只需要1440毫秒(windows7、i7、8g、群聊场景)


● 极亲民的内置功能

● 框架层面帮你检测心跳(tcp server)、发送心跳(tcp client)

● 框架层面支持自动重连(可设置重连间隔时间和重连次数)

● 框架层面支持同步消息(消息发送后,等到响应消息再往下执行)

● 框架层面支持绑定userid(用于用户关联)、绑定groupid(用于群聊)


● 天生没有粘包问题


案 例

● 某网管系统(管理数百台刀片服务器的系统)

● 某直播平台(视频直播+聊天)

● 某智能设备检测系统(数据采集)

● 某物联网系统(服务端)

● 深圳市某在线技术发展有限公司(中银联投资):某网络安全运营支撑平台

● redisx

● talent_dubbo

● ... ...


性能测试步骤及数据


talent-aio产生的背景


(1)2011年笔者参与了中兴某刀片的网管系统开发,虽然入职才3个月,但大领导还是亲点让笔者来改造原来的实时通讯模块,而且不允许使用mina。在这样的背景下,开始学习nio,改造后的系统,可管理上千个节点,消息收发速度极快,最近有和还在职的中兴同事了解过,核心代码仍然在运行,足见其稳定性,这就是后来talent-nio的雏形


(2)后来担任热波间(一个直播平台)的平台端架构师,持续优化和封装了talent-nio,使之可以支持4万TCP长连接,每秒可以收发10万条消息,当年甚至扛住了自杀式的2000人在同一房间无限点赞场景(这个消息量有多大,内行们请脑补)


(3)因为热波间架构师的角色,认识了不少业界朋友,部分朋友表达希望开源talent-nio, 以便参考借鉴,但是talent-nio在易用性方面做得还不是很理想,开源出来的话要么无人问津要么就要消耗大量的咨询时间


(4)几番考虑之后,写了talent-aio,线程池部分和部分思想来源于并优化于talent-nio,在性能大步提升的基础上,易用性得到根本性解决。





推荐阅读

有了这些创意开源工具,再也不用担心春节无聊啦(2)

有了这些创意开源工具,再也不用担心春节无聊啦(1)

盘点各类编程语言中最火的开源项目,跟你想的一样吗?

免费个人博客搭建教程详解:Hexo+OSChina

程序员排行榜:测测你的码力值,2016年击败了全国多少工程师?

点击“阅读原文”查看更多精彩内容

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存