Skip to content

Instantly share code, notes, and snippets.

@dkypooh
Last active April 16, 2018 02:52
Show Gist options
  • Select an option

  • Save dkypooh/105c390aedc70af433396b45ec9c329c to your computer and use it in GitHub Desktop.

Select an option

Save dkypooh/105c390aedc70af433396b45ec9c329c to your computer and use it in GitHub Desktop.
构建客服系统一些实践及经验

如何构建客服系统

对于一个客服系统,甚至包括WEB端微信, 我们都可以简单的抽象为一个IM系统; 只是随着产品业务的不同, 需要支持不同的数据格式, 定义通信的协议及规范。

对于IM的前端整个过程可以分为:通讯方式, 协议, 数据格式, UI表现层

通讯方式

要保持数据的实时通信,WEB端基本就是两种方式: 轮询和长连接。 Web端可以用WebSocket来解决,这也是业界普遍采用的方案。 通讯环节是相当耗费服务器资源的一个环节,而且开发成本偏高,建议将这些第三方的平台直接集成到自己的项目中,以降低开发的成本。 比如云信就是真正稳定的IM云服务平台

协议的定义

根据不同业务需求可以通过不同的协议来完成

数据格式

IM系统中, 最重要的数据实体为两个: Session(会话,人,商户) 和 Message(消息列表), SessionMessage 的关系是 一对多 的关系。

如何保证软件的健壮性,可扩展性和稳定性,其实需要把数据层和表现层分离出来,协议层和数据层也分离出来, 通过事件调度的方式分发。

本文章介绍下七鱼在这方面的应用。

image

image

image

离线消息

同步消息

数据模型篇

游乐园

客服端

客服端数据模型

访客端

访客端数据模型

SDK数据模型

举个栗子

通信篇

客服端云信流程

客服端生命周期

客服端服务器端交互

访客端

访客端申请客服

访客端流程

客服端主流程

实践篇

前端架构模型

客服端架构模型

访客端架构模型

全家桶

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment