2

# 稳了github star突破9k即时通讯IM开源项目OpenIM版本发布-生产环境重点关注

 1 year ago
source link: https://studygolang.com/articles/35720
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

# 稳了github star突破9k即时通讯IM开源项目OpenIM版本发布-生产环境重点关注

OpenIM · 大约2小时之前 · 60 次点击 · 预计阅读时间 3 分钟 · 大约8小时之前 开始浏览    

## 项目简介

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功能,同时考虑企业的接入成本、服务器资源以及最重要的数据安全性和私密性。


有疑问加站长微信联系(非本文作者)

280

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:701969077


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK