写点什么

OpenIM 重大优化 - 消息按需加载 一致性缓存 uniapp 发布

作者:Geek_1ef48b
  • 2022 年 7 月 23 日
  • 本文字数:1478 字

    阅读完需:约 5 分钟

新功能介绍

(1)服务端加入一致性缓存(dtm:https://www.dtm.pub/),优化 db 读写性能;

(2)对于群读扩散群,登录时先同步最新的 100 条消息,历史消息按需加载;

(3)申请进群时,群主或者管理员能看到进群方式以及由谁邀请进群;

(4)解散群,不能再发送消息;

(5)好友备注可删除,删除后恢复原来名称 ;

(6)群主和管理员能看到群成员的进群方式:扫码进群,谁邀请进群,搜索进群;

(7)群主和管理员设置群成员权限:是否允许查看其他群成员资料;是否允许添加群成员好友;

做技术的朋友对于读扩散写扩散应该不陌生,无论是信息流、论坛、信箱,还是私聊、群聊、通知,都能用到读写扩散。本文不讲解技术细节,OpenIM 基于推拉结合的读扩散主要解决群聊模式下消息冗余存储,消息实时性,新用户入群无法查看新消息,超级大群等。

安卓端体验:https://www.pgyer.com/OpenIM

群聊读扩散-按需加载

(1)创建时指定工作群,这种群采用读扩散模型,每个群有独立 seq,群成员共享此 seq,能大幅减少群消息冗余,且提升消息实时性。

(2)消息按需加载机制做好铺垫,对于长时间不登录或者卸载后重装场景,默认加载最新的 100 条消息,对于历史消息,如果本地 db 不存在,则从服务端拉取。

(3)新用户入群可以查看历史消息,后续增加选择项,给开发者更多选择。



uniapp 版 demo 发布

uniapp,期待已久,demo 已发布,可能还有一些瑕疵,请多多包涵。

请前往 github 下载使用:https://github.com/OpenIMSDK/Open-IM-Uniapp-Demo

项目成果

从服务端到客户端 SDK 开源即时通讯(IM)整体解决方案,可以轻松替代第三方 IM 云服务,并能根据业务需求高度自定义和二次开发,打造具备聊天、社交、办公功能的 app。OpenIM 继续领跑开源 IM 领域,在广大开发者的大力支持下,目前 github star 持续突破。越来越多的开发者把 OpenIM 应用在社交,协同办公领域。在运营过程中也暴露并修复了代码的一些 bug,由于使用场景广泛,OpenIM 越来越健壮,开源价值也凸显出来了。尤其对于政务系统来说,开源产品更有准入条件的优势。“开源”的价值在于能够打破资源垄断,让开发者 可以自我掌控。“开源”的价值在于能够提升软件质量,优化系统架构。“开源”的价值在于能够丰富文化内涵,共建工程师文化。



开源不仅仅是开放源代码。作为开源 IM 领跑者,OpenIM 开源有几个目的:(1)IM 核心数据应该掌控在运营者手中(2)IM 需求广泛,有很多人免费使用,并能发现问题(3)让更多开发者参与项目项目,特别是 IM 需求繁多。在开源社区里面,每个项目都可以开启 pr,pr 功能将允许每一位开发者对代码进行修改,但是需要项目拥有者的合并代码。集体的力量是最大的,充分体现开源的价值。OpenIM 社区运营有所欠缺,未来计划直播讲解技术架构,让社区开发者能深度参与开发。

github 地址:https://github.com/OpenIMSDK/Open-IM-Server

开发者中心:https://doc.rentsoft.cn/#/

我们的团队

OpenIM 是由 IM 技术专家打造开源即时通讯组件,目前 github 社区活跃,star 近万,排名遥遥领先,开发者 7000 人,OpenM 力争开源 IM 项目 No1,打造开源 IM 第一社区。支持 Android、iOS 原生开发,支持 Flutter、uni-app 跨端开发,支持小程序、React 等所有主流 web 前端技术框架, PC 支持 Electron。重点应用在政务办公,社交,web3 场景,一切皆可控,让 OpenIM 深入到各行业。从开源的内在含义来看,需要这五个维度:透明度;协作;持续发布;精英制度;社区运营,OpenIM 在这五方面还需要持续努力,稳固生态建设,巩固 OpenIM 影响力。开源的价值是开放使用,不限制想象及开发的空间,高效利用。每个开发者对于产品及技术的想象及出发不同,这就造就一个最基本的形态变成百花盛放,争奇斗艳的效果。

用户头像

Geek_1ef48b

关注

还未添加个人签名 2021.08.25 加入

还未添加个人简介

评论

发布
暂无评论
OpenIM重大优化-消息按需加载 一致性缓存 uniapp发布_Geek_1ef48b_InfoQ写作社区