十年沉淀!一款高颜值、功能全面的即时通讯IM系统开源了!快速搭建企业内部通讯系统
- 💂 个人网站: IT知识小屋
- 🤟 版权: 本文由【IT学习日记】原创、在CSDN首发、需要转载请联系博主
- 💬 如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)和订阅专栏哦
简介
WuKongIM是一款历经10(2015-2025)年迭代积累,沉淀出来的一款实用性强、高性能、通用的开源即时通讯IM系统,支持即时通讯,站内/系统消息,消息中台,物联网通讯,音视频信令,直播弹幕,客服系统,AI通讯,即时社区等场景下应用。
系统采用Go语言开发,拥有轻量级、高并发、易扩展的特性。服务端采用了自主实现的通信协议栈,支持二进制和JSON双协议格式,前端提供多平台选择(Android、iOS、Web、Flutter、小程序等),满足不同用户的个性化需求。系统采用了分布式架构 + 去中心化设计,实现了节点之间数据互备和故障自动转移,且支持集群快速自动可以扩容,保障系统高稳定性和高可靠性。

特点
-
零依赖:不依赖任何第三方组件,部署简单,一条命令即可启动
-
无上限:群成员无上限,轻松支持10万人群聊,消息可永久存储
-
完全自研,资源消耗低:自研消息数据库,消息分区永久存储,自研二进制协议,支持自定义协议,心跳包只有1字节,省流量,省电量,传输更迅速
-
安全:消息通道和消息内容全程加密,防中间人攻击和窜改消息内容,服务端数据实时备份,数据不丢失
-
功能强劲:MAC 笔记本单机测试 16w 多/秒的消息(包含存储)吞吐量,频道支持万人同时订阅
-
扩展性强:采用频道设计理念,目前支持群组频道,点对点频道,后续可以根据自己业务自定义频道可实现机器人频道,客服频道等等
-
高可用:
-
通过魔改raft分布式协议,实现了自动容灾,一台机器宕机,另一台机器自动接管,对外无感知。
-
去中心化,无单点,无中心节点,每个节点都是独立且平等的,都可以提供服务。
-
扩容方便,只需增加机器,不需要停机,不需要迁移数据,自动按策略分配数据。
-
-
兼容性强:同时无差别支持 tcp,websocket
-
易用性:采用频道订阅发布的设计理念,容易理解,容易上手。与Redis一样简单,Kafka一样高性能,MySQL一样可靠
适用场景
-
即时通讯:群频道支持、个人频道支持、消息永久存储、离线消息推送支持、最近会话维护
-
消息推送/站内消息:群频道支持、个人频道支持、离线消息推送支持
-
客服系统:客服频道支持、消息支持投递给第三方服务器、第三方服务器可决定分配指定的订阅者成组投递(整体逻辑: 创建频道 -> 发送消息 -> 匹配客服 -> 客服加入频道 -> 开始聊天 )
-
游戏聊天室:大群频道支持
-
音视频信令服务器:支持临时指令消息投递
-
直播弹幕:临时消息投递、临时订阅者支持(一个直播一个频道,用户进入直播就是用户订阅频道,用户退出直播就是用户取消订阅频道,直播结束就是频道销毁。)
-
实时 AI 反馈:支持客户端发的消息推送给第三方服务器,第三方服务器反馈给 AI 后返回的结果再推送给客户端
-
即时社区:社区频道支持、支持 topic 模式的消息投递
-
物联网通讯:mqtt 协议支持、支持发布与订阅
构架
框架图

故障转移机制

功能特性
-
支持自定义消息
-
支持订阅/发布者模式
-
支持个人/群聊/客服/社区资讯频道
-
支持频道黑名单
-
支持频道白名单
-
支持消息永久漫游,换设备登录,消息不丢失
-
支持在线状态,支持同账号多设备同时在线
-
支持多设备消息实时同步
-
支持用户最近会话列表服务端维护
-
支持指令消息
-
支持离线指令接口
-
支持Webhook,轻松对接自己的业务系统
-
支持Datasource,无缝对接自己的业务系统数据源
-
支持Websocket连接
-
支持TLS 1.3
-
支持proxyproto协议
-
支持JSON协议通讯
-
支持Prometheus监控
-
监控系统开发
-
支持流式消息,类似chatgpt的结果输出流
-
支持分布式
-
去中心化设计,任意一个节点宕机,集群自动修复
-
集群节点之间数据互备,任意一个节点损害,不影响数据完整性
-
支持集群快速自动扩容
-
项目界面
后台管理系统














IM系统界面


开源地址&使用手册
点击下方的【IT学习日记】回复【资源】领取!
如果这篇文章对您有帮助,请一定帮我点个 “关注” 和 “点赞”,这对我非常重要。我将会继续推荐更多优质项目和新闻。

写在最后
1000+优质开源项目更新进度:244/1000。如需更多类型优质项目推荐,请在文章后留言。

更多推荐



所有评论(0)