专栏名称: OSC开源社区
OSChina 开源中国 官方微信账号
目录
相关文章推荐
码农翻身  ·  写文章赚了700多万,算不算多? ·  9 小时前  
伯乐在线  ·  神操作!中国工程师拖 4 箱硬盘 80TB ... ·  昨天  
伯乐在线  ·  神操作!中国工程师拖 4 箱硬盘 80TB ... ·  昨天  
OSC开源社区  ·  LF开源软件学园五周年:感恩相伴,携手前行 ·  2 天前  
老刘说NLP  ·  如何用大模型自动生成PPT?AutoPres ... ·  4 天前  
51好读  ›  专栏  ›  OSC开源社区

周一见 | 7 款国产实战开源项目让通讯超简单!

OSC开源社区  · 公众号  · 程序员  · 2017-01-02 08:34

正文

请到「今天看啥」查看全文



于 UDP 轻量级移动端即时通讯框架


项目简介: 一个专为移动端开发的原创即时通讯框架,超轻量级、高度提炼,完全基于 UDP 协议,支持 iOS、Android、标准 Java 平台;可应用于跨设备、跨网络的聊天 APP、企业 OA、消息推送等各种场景。

设计目标: 让开发者专注于应用逻辑的开发,底层复杂的即时通讯算法交由 SDK 开发人员,从而解偶即时通讯应用开发的复杂性。

技术特征:

  • 超轻量级:高度提炼,lib 包50KB以内;

  • UDP实现:更好的适应现今的无线网络环境;

  • 高效费比:UDP的无连接特性,同等条件下可实现更高的网络负载和吞吐能力;

  • 消息走向:支持即时通讯技术中消息的所有可能走向,共3种(即C2C、C2S、S2C);

  • QoS机制:完善的消息送达保证机制,不漏过每一条消息;

  • 健壮可靠:实践表明,非常适于在高延迟、跨洲际、不同网络制式环境中稳定、可靠地运行;

  • 断网恢复:拥有网络状况自动检测、断网自动治愈的能力;

  • 原创算法:核心算法和实现均为原创,保证了持续改进和提升的空间;

  • 多种模式:预设多种实时灵敏度模式,可根据不同场景控制即时性、流量和客户端电量消耗;

  • 数据压缩:自有协议实现,未来可自主定制数据压缩,灵活控制客户端的流量、服务端网络吞吐;

  • 高度封装:高度封装的API接口,保证了调用的简易性,也使得可应用于更多的应用场景。

性能测试: 压力测试表明,MobileIMSDK用于推送场景时,理论单机负载可接近千万级。用于聊天应用时,单机负载也可达数十万。

项目地址: https://git.oschina.net/jackjiang/MobileIMSDK

3


于 Java aio 的即时通讯框架 talent-aio


项目背景: 2011年本人有幸参与了中兴某刀片的网管系统,大领导亲点让我来改造原来的实时通讯模块,因为老系统每管理一个节点就需要两个线程,实测出来的数据是管理100个节点时,就会达到1000多个线程,稳定性和性能极差。在这样的背景下,开始学习 nio,改造后的系统线程维持在100个左右,可管理上千个节点,消息收发速度极快,最近和中兴同事了解过,核心代码仍然在运行,足见稳定性,这就是后来 talent-nio 的雏形。

后来作为热波间(一个直播平台)的平台端架构师,持续优化和封装了 talent-nio,使之可以支持4万 TCP 长连接,每秒可以收发10万条消息。很多朋友要求我开源 talent-nio,但是 talent-nio 在API设计方面不是太好,开源出来无疑个砸牌子的事情。一翻纠结后,写了 talent-aio,线程池部分来源于并优化于 talent-nio,其它部分一律重新设计,尤其是锁的优化和 API 的重新设计,为了折衷花费了大量精力。

项目简介: 本项目已经提供了一个 helloworld 版的例子,虽然有3个maven工程,6个 java 文件,但是有效代码只有区区100多行,结构清晰极易上手,位于:example\helloworld目录。项目在单机IM场景,可处理73万条消息/秒,收发数据量70M/秒,可同时稳定维护10万级以上TCP长连接(测试环境:i7 4790、8G内存、windows7)。







请到「今天看啥」查看全文