# talent-aio **Repository Path**: lzfying/talent-aio ## Basic Information - **Project Name**: talent-aio - **Description**: 为大并发即时通讯而生。把多线程技巧运用到极致,在易用和性能方面超越netty的即时通讯框架。单机IM场景:可处理100万级消息/秒,可收发数据70M/秒,可同时支持10万级TCP长连接 - **Primary Language**: Java - **License**: LGPL-2.1 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 208 - **Created**: 2016-12-25 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

talent-aio: 为大并发即时通讯而生

把多线程技巧运用到极致,在易用和性能方面超越netty的即时通讯框架。单机IM场景:可处理100万级消息/秒,可收发数据70M/秒,可同时稳定维护10万级TCP长连接

所以即使你使用不到talent-aio,也可以下载源代码,通过简单的源代码学习掌握多线程的各种技巧。talent-aio性能测试数据如此令人惊讶,完全得益于多线程的运用。同样的,因为多线程充分利用了CPU,所以在不同CPU下,测出来的性能数据可能相差极大。

talent-aio的一些测试数据(测试环境:i7 4790、8G内存、windows7)

  1. 目前简单测试后,可以支持 **75000个TCP长连接** (这个数值后面会继续增加,因为已有的测试还没达到服务器极限,只是用完了5个客户端的极限)
  2. 客户机与服务器是同一台的话,服务器可以接收、处理、发送 **48万条完整的业务消息包/每秒** ,客户端可以同时处理与之对应的数据量(一来一回就是有收发 **96万条消息/秒** 的能力)

用talent-aio实现的简单的im例子,先启动服务器再启动客户端,然后界面会打印性能数据 (点击本链接可见性能图)

  1. 先运行parent/install.bat,用来安装本项目所有代码
  2. 运行server examples: com.talent.aio.examples.im.server.ImServerStarter
  3. 运行client examples: com.talent.aio.examples.im.client.ImClientStarter

talent-aio的一些特点

  1. 易用:某工作一年,甚至不会maven的小伙子,通过下载代码,阅读提供im例子,完成了本框架的入门,并且使用到项目中。
  2. 自带与组绑定、与用户绑定等功能,并且在连接关闭时,自动销毁这些绑定(以避免用户自己忘记销毁带来的内存溢出问题)
  3. API自带发送到指定用户、指定组等功能
  4. 代码精简,包含提供的一个im例子,代码行数也不到5000行,非常便于学习。
  5. 可以通过本框架学习到非常丰富的多线程知识及运用技巧。

获取帮助

  1. talent-aio官方交流群: talent-aio技术
  2. 邮箱: tywo45@163.com
  3. 作者QQ(不能及时回复): 点击这里给我发消息

帮助本项目

  1. 提交Issue 为本项目出谋划策,或是指出项目BUG
  2. 点击右上方的 Star 为本项目积攒人气
  3. 碰到有需要即时通讯的朋友(譬如IM系统、实时监控系统等),请按如下方式推荐本项目