项目简介
Android体验地址:https://www.pgyer.com/OpenIM
注册后自动加入组织
群聊页面
工作台
业务可以通过jssdk自由扩展自身业务
工作圈
增加办公动态
组织架构
业务系统打通组织架构
最近一个月,OpenIM团队主要精力集中在线上bug修复、性能优化、新特性开发:
重大bug修复
| bug描述 | 描述 | 原因 | 修复方式 |
| ---------------- | ------------------------------------------------------------ | --------------------------------------------------- | ----------------------------------------------- |
| 消息发送失败 | 踢人下线较多时,所有消息发送转圈,并最终失败。只有重启才能解决 | 在网络堵塞时,如果踢人下线,会导致服务端死锁风险 | 对于踢人,直接关闭连接,并把token置为踢出状态; |
| 消息发送失败 | 某个时刻,无任何征兆,所有消息发送转圈,并最终失败。只有服务端才能解决 | kafka客户端包github.com/Shopify/sarama v1.32.0有bug | 用1.29.0替换。 |
| etcd获取连接为空 | 在异常情况下,会有空指针导致进程挂掉 | 增加日志,定位原因 | 增加了容错保护,避免进程挂掉 |
感谢几位客户提供日志以及现场情况,这些问题才得以彻底解决,大家放心用于生成环境。
性能优化
| 优化方案 | 描述 | 优点 | |
| -------------------- | -------------------------------------------------- | ------------------------------------------------------------ | ---- |
| redis集群 | 用go-redis替换原有的redis库,支持redis集群模式, | 系统容量以及并发能力进一步提升 | |
| 消息入库大小循环模型 | 对于新消息入库redis,对于老消息延迟批量写入mongodb | 提升消息时效性,每秒上万次并发。由于批量入库mongodb,能减少mongodb的压力; | |
| 群聊已读可配置 | 增加已读配置项给业务更多选择 | 群聊已读会增加消息量,影响性能,业务可以自由选择 | |
新特性发布
| 新特性 | 描述 | 场景 | |
| ------------ | ------------------------------------------------------------ | -------------- | ---- |
| 用户强制下线 | 后台api让用户token失效,强制下线 | 运营需求 | |
| 增加群管理员 | 群管理员有踢人,禁言权限等 | 扩展群管理能力 | |
| 全局免打扰 | 消息能接收,但不提醒 | 消息设置能力 | |
| 组织架构 | 组织架构api业务对接能力和已有业务系统打通,本地存储及实时更新能力 | 政企办公能力 | |
| 工作圈 | 同一组织内可以查看、点赞,评论等, | 政企办公互动 | |
项目成果
从服务端到客户端SDK开源即时通讯(IM)整体解决方案,可以轻松替代第三方IM云服务,并能根据业务需求高度自定义和二次开发,打造具备聊天、社交、办公功能的app。
OpenIM继续领跑开源IM领域,在广大开发者的大力支持下,目前github star突破9k。在数据泄露、信息外泄、隐私滥用的今天,IM私有化部署需求旺盛,全面拥抱软件国产化。其中,政企协同办公对IM需求猛增,随着信息化技术的迭代升级以及信创产业加速落地和实践,协同办公软件的发展潜力将进一步被释放。“安全可控“逐步成为第一要素。希望OpenIM成为各位私有化IM的第一选择。
github地址: https://github.com/OpenIMSDK/Open-IM-Server
开发者中心:https://doc.rentsoft.cn/#/
我们的团队
创始团队来自资深IM技术团队,我们致力于用开源技术创造服务价值,打造轻量级、高可用的IM架构,开发者只需简单调用 SDK,即可在应用内构建多种即时通讯及实时音视频互动场景。相比于其他云服务商,OpenIM有其优势:开源,安全,可靠,低成本。对于信息安全重视的电子政务,企业协同办公,OpenIM都是非常好的选择。从公司成立之初就将“开源”作为核心战略来推进,以公司化运营打造开源IM,充分体现了自由、平等、分享的互联网精神。
OpenIM邀请全球技术极客参与技术优化,让开发者轻松集成,让每一个应用都具备IM功能,同时考虑企业的接入成本、服务器资源以及最重要的数据安全性和私密性。