- 博客(8)
- 收藏
- 关注
原创 5. 用Go打造现代IM之百万消息QPS的数据库
MongoDB:QPS一般在2万-4万左右 (参考:https://blog.csdn.net/sunny_day_day/article/details/108578995)MySQL: QPS一般3000-7000左右 (参考:https://blog.csdn.net/tianya_lu/article/details/105096667)IM最大的数据的读写就是消息,消息的存储是决定此IM系统是否有较高的消息吞吐量的主要原因之一。传统的MySQL QPS太低,显然不太适合消息这种读写太频繁的场景。
2023-10-08 09:16:09
149
1
原创 4. 用Go打造现代IM之单聊频道ID技巧
假设用户A的用户唯一ID(uid)为 abc (hash值:1941671012) 用户B的用户唯一ID(uid)为 kfm(hash值:3859239440)这样做的目的就是统一IM的底层逻辑,IM底层就只有一条逻辑支线,那就是 发布 → 频道 → 订阅,也就是只有群聊,单聊也是群聊。用户abc 与 用户kfm聊天 其实就是在频道ID为abc@kfm的群内聊天。聊天双方的用户uid 通过@拼接,hash值小的拼在第一位 大的拼在@后。所以,abc@kfm频道内的群成员为 用户abc和用户kfm。
2023-10-06 10:23:34
107
1
原创 用Go打造现代IM之底层逻辑
频道ID为客服系统路由到的客服创建的临时频道的ID(类似QQ的讨论组),成员为访客和客服人员。频道ID为群号,成员即为群聊里的成员(群聊是典型的订阅发布模式)下一篇:用Go打造现代IM之单聊频道ID技巧。单聊怎么抽象成发布→频道→订阅的模式?底层足够简单才能支持上层的复杂。
2023-09-27 11:58:56
88
1
原创 用Go打造现代IM之消息模型选择
因为读扩散只是读取最近的几条消息,比如读取每个会话最近的10条消息,如果某个命令消息在某个会话的11条消息里,那么这条命令同步最近会话列表的时候就不会同步下来,会导致这条命令不会被执行,所以命令类型消息选择写扩散,写入到每个用户的消息队列里,当用户同步离线命令的时候就可以完全同步到命令,然后客户端可以完成命令的执行。以一个万人群举例,成员发布一条消息,这条消息只存储一份,如果有多个群,成员获取消息需要带上群的标识分别读取群内消息。下一篇: 用Go打造现代IM之群聊单聊统一抽象。存储压力大,不适合做大群。
2023-09-19 14:17:36
206
1
原创 开源社区第二屌()的即时通讯软件
🆓 开源免费:服务端源码,APP源码,Web/PC端源码全部开源,Apache2.0开源协议(可商用),没人能拿捏你。💽 消息永久存储:消息支持永久存储,得益于WuKongIM的自研消息db,永久存储不影响性能,只浪费点磁盘空间。📱 多设备消息同步:支持 1 个移动端、多个 Web/PC 端同时在线时,并且支持多端之间的消息实时同步。🆚 消息必达:采用 tcp + ack机制,保证消息必达,支持离线消息,支持消息漫游。📟 全平台支持:iOS,Android,Windows,MAC,Ubuntu,Web。
2023-07-21 10:44:52
316
1
原创 单机百万级的通用实时通讯服务
8年积累,沉淀出来的高性能通用通讯服务悟空IM,支持即时通讯,消息推送,物联网通讯,音视频信令,直播弹幕,客服系统,AI通讯,即时社区等场景。开源地址: github.com/WuKongIM/WuKongIM。文档地址:https://githubim.com。
2023-07-17 11:01:57
148
1
原创 即时服务开源第38天,为自己写代码
悟空IM是一款通用即时服务,适用许多需要实时更新数据的场景,比如:直播弹幕,客服系统,消息推送,消息推送/站内消息,音视频信令服务器,AI数据实时反馈等等。目前有配套的SDK: iOS SDK,Android SDK,JSSDK,可用于APP原生开发,小程序开发,H5开发等多个开发场景和完善的技术文档。悟空IM,迎来了后台监控系统,可监控上下行消息速率,上下行消息流量,客户端在线情况,频道数据等等,告别一抹黑。自研消息DB,自研二进制协议,重构Go底层网络,零依赖,一键部署。
2023-06-19 14:03:04
551
原创 打磨8年之久的即时通讯正式开源了
高性能通用即时通讯服务,支持聊天应用,消息推送,物联网通讯,音视频信令,直播弹幕,客服系统,AI 通讯,即时社区等场景。扩展性强:采用频道设计理念,目前支持群组频道,点对点频道,后续可以根据自己业务自定义频道可实现机器人频道,客服频道等等。性能强劲:性能强劲,MAC 笔记本单机测试 16w 多/秒的消息(包含存储)吞吐量,频道支持万人同时订阅。完全自研:自研消息数据库,消息分区永久存储,自研二进制协议,支持自定义协议。安全:消息通道和消息内容全程加密,防中间人攻击和串改消息内容。
2023-06-17 09:07:45
722
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人