t-io高性能网络框架
如果网络编程很痛苦,那一定是没用 t-io
t-io是talent-tan采用java语言开发的一款网络编程框架
为什么要开发t-io
在t-io之前,已经有mina,netty这样的网络编程框架了,talent-tan出于什么考虑要重新发明轮子呢?原因很奇葩:
talent-tan学习能力太差,在看了些《netty权威指南》后,觉得自己很难hold住netty,或者说要想hold住netty需要花上大量精力和记忆力
t-io的前世今生
- 2010年,talent-tan在某通讯大厂接手网管系统的通讯模块,老代码采用的是传统IO,一个client需要有3个线程来守,经常内存溢出和宕机。talent-tan临危受命,重写了通讯模块
- 2012年,talent-tan利用业余时间基于nio写talent-nio
- 2013年,talent-tan短暂参与了mycat项目,用talent-nio写了mycat中的一个透传模块
- 2014年,用talent-nio实现了热波直播的IM模块
- 2015年,talent-tan开始关注aio技术,同时把talent-nio中的线程池、锁处理、并发数据结构进行了进一步抽象
- 2016年,基于aio技术重写了talent-nio,命名为talent-aio,代码入驻码云,正式开源
- 2017年,talent-aio更名为t-io,同年t-io成为GVP项目,t-io收获大量用户
- 2018年,基于t-io实现了tio-http-server、tio-websocket-server、tio-webpack等周边产品
- 2019年,华为业软某测试团队对基于t-io的某智慧产品进行了长达3~6个月的拷机极限压测,t-io经受住考验,为正式进入华为开源优选库做了扎实的铺垫
- 2020年,t-io正式入驻华为开源优选库,t-io官网注册人数破万,基于t-io开发的第一款商业IM谭聊正式上市,集群版t-io也正式完成研发和通过压测
- 2021年,客户反馈基于t-io研发的谭聊非常稳定
t-io解决的痛点
任何作品都应该有其使命和价值,t-io的使命是解决网络编程方面的用户痛点,且看t-io给用户带来的惊喜
- 易学易用,talent-tan之所以创造t-io,就是因为市面上同类产品学习成本大,所以在设计api时,特别关切用户的接受度。t-io第一批用户仅仅是看了t-io官方提供的示范工程就掌握了t-io
- 全方位的数据监控能力:org.tio.core.stat.ChannelStat
- 内置心跳超时检查、心跳定时发送能力
- 极致打磨的底层集群能力,可无缝解决IM、物联网等大型产品的集群需求
- 掉线自动重连能力
- t-io实测性能一:1.9G内存稳定支持30万TCP长连接:https://www.tiocloud.com/61
- t-io实测性能二:用t-io跑出每秒1051万条聊天消息:https://www.tiocloud.com/41
- t-io实测性能三:netty和t-io对比测试结果:https://www.tiocloud.com/154
- 内置ack消息能力
- 内置半包粘包处理
- 自创同步锁、同步安全线程池、同步数据结构等工具库,为业务应用提供丰富的开箱即用API
- 内置慢攻击防御机制,帮助应用自动拉黑嫌疑IP
- 丰富的生态,目前已经用t-io实现了http、websocket、mqtt及大量私有协议
- 对开发工程师要求低,为企业节约人工成本
- 性能卓越,为企业节约硬件部署成本
t-io文档
https://www.tiocloud.com/doc/tio/85
t-io技术白皮书
t-io口碑
t-io使用案例
t-io见证历史
评论