IM平滑迁移方案

网易云信多年来的稳定IM即时通讯服务,在开发者中积累了良好的口碑。部分开发者希望接入云信的IM服务,但正在使用自研或友商提供的即时通讯服务。针对这一场景,网易云信为客户贴身打造了一套迁移方案,并且成功为多家客户实现了平滑迁移。

基本概念

前期准备

进行IM账号平滑迁移,需要提前进行以下准备:

新老兼容迁移

新老兼容迁移的方式,是指在迁移过程中,云信IM服务器和原IM服务器同时提供服务,新应用和旧应用并存,支持新旧应用互通。待用户逐步更新至新应用,旧应用逐步无人使用后,原IM服务器停止服务。

新老兼容迁移过程中,会涉及到新老应用的增量消息发送的保障。因此需要原IM服务器可以提供消息抄送和服务端发送消息的功能。一条消息由老应用的用户发送到新应用的用户,需要经历以下几个步骤:

  1. 老应用用户发送消息至原IM服务器
  2. 原IM服务器提供消息抄送功能,将消息抄送给应用服务器
  3. 应用服务器收到消息抄送后,调用云信提供的服务端消息发送API发送消息
  4. 云信服务器将消息发送给新应用的指定用户

反之,一条消息由新应用发送到老应用,也通过类似的4个步骤实现。

优势对比

不同的迁移方式适应不同的场景,各有优劣,需要依赖的条件也不同。详情如下:

迁移流程

1、账号迁移

根据云信官网提供的创建账号API接口创建云信accid

2、好友关系迁移

根据云信官网提供的创建好友关系API接口创建好友关系。

注:依赖于账号迁移已完成

3、群组迁移

根据云信官网提供的创建群和拉人等API接口创建群并把指定用户加入到指定群

注:依赖于账号迁移已完成

4、历史消息迁移

根据要求的消息格式,提供给我们数据接口或者文本,由我们做定时导入或者离线导入。

注:

5、漫游消息迁移

漫游消息云信提供存储最近7天的最多100个会话,每个会话最多100条消息。 如果用户有漫游消息迁移的需求,需要提前告知,在历史消息迁移的过程中,会将最近7天的消息同步写入到漫游库。由于漫游消息最多保留的时长、会话数、消息数有限,因此如果用户需要维护全量的最近会话列表,需要用户自行维护该会话列表: