OpenIM最新版本release-v3.8,成功解决了系统先前的几个关键问题,这些问题包括对Redis的过度依赖、Redis异常后的恢复问题以及大群成员同步速度慢等。新版本release-v3.8不再引入新功能,而是专注于现有功能的维护和bug修复,从而提高系统的稳定性和可靠性。
OpenIM是什么
不同于 WeChat、Slack等独立聊天应用,OpenIM为开发者提供了一套开源即时通讯SDK。 开发者能够轻松地在自己的应用程序中集成即时通讯功能,从而避免了从零开始构建复杂的聊天系统。 此外,OpenIM 也可作为 Twilio、Sendbird 等即时通讯云服务的开源替代品。 需要注意的是,开发者需要开发客户端UI,而OpenIM的DEMO仅作为参考。
OpenIM 是由两大核心组件构成的即时通讯解决方案:OpenIMSDK 和 OpenIMServer。以下是其主要特征:
📦 OpenIMSDK:
- 作为库文件形式,直接嵌入到应用程序中,便于开发者快速集成。
🖥️ OpenIMServer:
- 作为独立的服务端程序私有化部署,提供强大的消息管理、分发、推送能力。
release-v3.8特性列表
序号
更新内容
描述
1
seq存储分发优化
减少redis强依赖,如redis异常,清空redis数据重启后,可自动恢复seq
2
推送优化
通过查询用户在线状态,push仅推送在线用户,提升推送效率
3
增量同步
对于会话、群成员、好友列表等,通过对比操作记录,增量同步差异数据到客户端本地,避免同步无用数据
4
topN同步
对于群成员、好友列表,仅同步前N条到客户端本地,其他通过按需拉取的方式同步,对于超级大群和上万好友非常有用
5
客户端重装
针对客户端卸载重装的情况优化同步速度。对于有上万条会话的情况,可能还要继续优化
6
etcd替换zookeeper
用etcd官方服务发现替代zookeeper,内存更小,更稳定
7
webhook及通知异步
通过生产者消费者模型,异步处理webhook和通知,提升性能
8
各种bug修复
如web心跳;未读数不正确;用户在线状态等等
未来版本计划
序号
更新内容
描述
1
计划废弃oimws
由于oimws天然的缺陷,计划开发jssdk,以替代oimws模块
2
计划支持鸿蒙SDK
由于国产化需求强烈,在不久的将来计划增加鸿蒙SDK
...
...
...
SDK-DEMO
平台/语言
SDK资源链接
SDK描述
带UI的demo
描述
Golang
Golang SDK
iOS
iOS SDK
iOS示例
Android
Android SDK
Android示例
Flutter
Flutter SDK
Flutter示例
uni-app
uni-app SDK
uni-app示例
JS SDK
JSSDK
PC web示例
React Native
React Native SDK
React Native示例
electron FFI
electron FFI SDK
electron FFI 示例
.NET
.NET SDK
.NET 示例
Unity
Unity SDK
Unity示例
C/C++
C/C++ SDK
关于我们
作为开源即时通讯(IM)解决方案的领军者,OpenIM 在 GitHub 上的星标数量已超过13,000,得益于全球开发者的广泛支持。在当前对数据和隐私安全关注日益加剧的环境下,市场对私有部署的IM解决方案的需求持续增长,这一趋势与国内软件产业的快速发展紧密相连。特别是在政府和企业领域,随着信息技术的迅猛发展及创新产业的广泛应用,对IM系统的需求正迎来爆发式增长。
同时,随着协同办公软件市场的不断扩大,“安全可控”已经成为市场上最关键的需求之一。在后AIGC(人工智能生成内容)时代,IM作为人机交互的主要接口,其在通信、协作和安全性方面的重要性将进一步提升。展望未来,我们期待 OpenIM 在后AIGC时代能够发挥更加关键的作用,助力各种应用提高效率和安全性,成为不可或缺的工具。
github: github.com/openimsdk/o…
developer: docs.openim.io/zh-Hans/
sdk-demo:docs.openim.io/zh-hans/gui…️-sdk-demo