本系列文章详细介绍使用 .net core 和 WPF 开发 升讯威在线客服与营销系统 的过程。本产品已经成熟稳定并投入商用。 在线演示环境:[
' target='_blank'>
[/reply]](
' target='_blank'>
[/reply]) 注意:演示环境仅供演示交流与评估,不保证 7x24 小时可用。 [文章目录列表请点击这里](
) --- 书接上回,本篇主要介绍系统的技术架构,从较高的抽象层次上解释我是怎样设计实现这样一套系统的。 首先我们先粗略的提出一些技术要求和技术指标: * 支持多租户。也就是云服务的形式,不同的客户拥有互不干涉的域,各自管理自己的站点和数据。 * 系统可以横向扩展,具备弹性扩容的能力。在初期可以以较低的配置环境运行,用户增加时,可以在不影响原有结构的基础上,无感的横向扩展。亦或因服务规模的减小而收缩。 * 具备较高的安全性,不易被攻击破坏。除了防火墙层面的配置外,应用系统自身拥有一定的抵御能力。 * 安装部署简单,在私有化部署时,不需要投入太多人力,最多只需一个人便可完成全部私有化部署工作。 * 具备较高的稳定性,部署之后能能够做到正常运行免人工干预。 接下来我们的顶层设计,都围绕这些目标进行。在技术选型方面,如题:.net core + WPF 结构。  接下来我一一解释这几个部分的选型考虑。 ### 访客端嵌入部分 指的是客户网站引入的一个 JavaScript 文件,以便在客户网站上显示出客服在线和嵌入的聊天窗口,并且能够追踪访客的状态报告给客服。  这里专门指出是”完全原生 JavaScript 。原因在于这个 JavaScript 文件,是需要客户直接通过 script 标签嵌入在自己网 这部分由于是弹出的独立画面,与客户自有网站没有直接关联,可以采用完全独立的技术体系。这里我们使用的原生 JavaScript + JQuery。 ### 服务器程序和数据库 服务端程序除了提供一般数据增删改查能力之外,重要的是需要实现稳定的消息中件间,稳定的站点状态、客服状态、访客状态等上下文数据在内存中的管理,以及稳定的TCP/IP长连接维护机制。 综合考虑技术指标和开发效率,我采用了 .net core 做为服务端程序JavaScript + JQuery。 ### 服务器程序和数据库 服务端程序除了提供一般数据增删改查能力之外,重要的是需要实现稳定的消息中件间,稳定的站点状态、客服状态、访客状态等上下文数据在内存中的管理,以及稳定的TCP/IP长连接维护机制。 综合考虑技术指标和开发效率,我采用了 .net core 做为服务端程序,SQL Server 做为数据库的方案。
