【CTO讲堂】SaaS云客服平台技术架构探讨

为了帮助IT从业者职业之路拥有更多收获,在诸多C粉的殷切期待下,由 CTO俱乐部打造的CTO线上讲堂自登场以来获得大家好评。本期邀请逸创云客服CTO刘铭带来SaaS云客服平台技术架构探讨的主题分享。

欢迎加入CTO讲堂微信群与业界大咖零距离沟通。

【CTO讲堂】SaaS云客服平台技术架构探讨_第1张图片

分享嘉宾: 逸创云客服CTO刘铭

嘉宾简介: 刘铭,逸创云客服CTO,拥有多年的SaaS企业级产品研发经验。热衷于研究各种技术,从前端的界面设计延伸到后端的服务运维,熟悉分布式,缓存,消息,搜索等机制。因看好国内SaaS发展趋势,加入逸创云客服,一直从事架构设计与产品研发等核心工作,致力于打造行业领先的云客服平台。

公司简介:逸创云客服从成立的2011年开始就本着让企业的用户更加满意,客服更加高效,管理更加轻松的宗旨,打造中国最稳定最安全的一站式客服系统,整合呼叫中心,微信客服,在线客服,工单系统,APP客服,邮件客服,表单客服,及微博客服,成就了逸创云客服:客服信赖的一站式企业级云服务平台。

在三年的时间里,我们始终从客户,从客服,从管理者三方的角度去完善我们的产品.也是我们这样的坚持,获得了百度,360,猿题库,申通,蜜淘全球购,uber,印象笔记等国内外30000家优秀企业的信任。

以SaaS模式为企业打造ALL IN ONE的客户服务平台,构建企业的在线帮助中心,聚合邮件、电话语音、IM在线交谈、反馈组件、移动APP、PC/移动端表单、微博、微信、API接口等客户支持渠道,将来自各个渠道的用户以工单的形式进行响应和受理,打通企业售前售中售后客户服务,让企业流程化标准化管理客户服务。

以下是1月29日CTO讲堂现场完整速记:

主持人:讲堂现在开始啦,欢迎逸创云客服CTO刘铭,请您给大家做个自我介绍。
刘铭: 大家好,我是刘铭,目前在逸创云客服担任CTO的职位,主要负责公司的产品研发和架构设计。

学生时代就对Web开发产生了浓厚的兴趣,从前端到后端都有折腾,曾经是一名全栈工程师,目前仍沉浸在技术的海洋中,不断探索,不断思考。今天主要给大家分享打造云客服产品的经验和心得,希望和大家互相交流,一起进步。

主持人:我们知道您一直钻研架构方面的技术,什么样的契机下决定加入逸创云开始创业之路?
刘铭:大概在2009年的时候,我了解到SaaS服务模式,觉得相见恨晚,认同这是未来的软件服务趋势,便依据SaaS模式制定自己的技术路线。当时国内的SaaS服务以crm为代表,并未涉及更多的垂直方向,而国外的SaaS市场已风生水起,百花齐放。

偶然一次机会,逸创云客服的创始人联系到我,想要打造国内首个SaaS云客服平台,颠覆传统的客服行业,这与我当时的想法一拍既合,从那时开始一直持续到现在。

主持人:请介绍下逸创云的技术团队及构成?
刘铭:逸创云客服的技术产品团队在成都,市场运营团队在北京。技术团队部分成员来自于传统的客服行业,在客服行业积累了多年经验,部分成员来自大型互联网公司,在互联网产品设计与研发上具有深厚的功底。

可以用七个字来形容我们技术团队:高效、默契、有担当。每个成员的能力都是非常优秀的,在团队协作方面,都能从其他成员的角度考虑问题,这就大大减少了沟通成本,当客户遇到问题时,模块负责人都能第一时间响应并解决。能够与这样的技术团队并肩作战,我感到很自豪。

主持人:请介绍下逸创云目前提供的产品技术服务?
刘铭:逸创云客服专注于企业级云客服平台,核心功能包括呼叫中心,在线聊天,工单系统,帮助中心,客户管理等。聚合了几乎所有的客户支持渠道,支持网页、电话、邮件、短信、微信、微博、移动SDK、客服APP等,为企业提供售前、售中、售后的一站式客服平台。

逸创云客服提供永久免费模式,包含3个客服坐席——助力中小型企业客户支持服务。如今有超过30000家企业选择信赖我们,包括百度、360、Uber、36氪、七牛、Ucloud、明道、罗辑思维等。客户群体覆盖了移动互联网、电子商务、金融、企业服务、教育、游戏、O2O、物流、医疗等行业。

主持人:与同类产品相比,逸创云的产品服务最大的优势体现在哪些方面?
刘铭:逸创云客服于2011年开始研发,2012年正式上线,最初是没有竞争的,我们花了很长时间完善产品,打好基础。一个没有竞争的市场就不能称为真正的市场,随之而来的竞争者是对这个市场前景的肯定和认同。
逸创云的优势主要体现在以下5个方面:

  • 产品成熟: 电话,IM,邮件,工单,微信等,每个渠道都有超过50客服坐席的企业在使用。
  • 集成简单:sso单点登录用于用户系统集成。移动sdk用于APP内的客户反馈集成。webhook用于向第三方推送提醒。restapi用于自定义的系统集成,包括用户导入、工单导入等。
  • 服务稳定:目前逸创云客服系统的可用性为99.9%,也就是每年服务不可用的时间仅有8.8小时。
  • 价格实惠:相比于同类产品的定价,逸创云客服的价位是较低的。初衷就是让企业享受到云客服便利的同时,为企业节约更多的成本,并维护市场的可持续发展。
  • 口碑最好:我们也在使用逸创云客服为客户提供支持服务,高效率地帮助客户解决使用中的任何问题,以此赢得了非常好的口碑。客户的口碑相传为我们带来了更多的新客户。

主持人:请介绍下云客服目前的技术架构?
刘铭:

【CTO讲堂】SaaS云客服平台技术架构探讨_第2张图片
上面这张图描绘的是逸创云客服的系统架构。

核心系统做了不同机房的灾备切换,数据库支持主从切换和多节点备份,各种应用服务都支持集群扩展,保障整个云客服平台的高可用性。

入口层做了DNS层的负载均衡和Http层的负载均衡,充分发挥多机房与机房内web集群的优势。

业务层主要采用了LAMP组合,后端开发框架上采用Yii,前端框架采用Ember.js、Backbone.js,实时应用部分采用了Node.js、Express,业务层均是无状态设计,具备很好的可伸缩性。

缓存层采用了Ucloud提供的Memcache和Redis,支持分布式、持久化、自动容灾。
数据层采用了Mysql作为数据库,根据业务进行垂直分片,支持主从同步,读写分离、灾备切换。

文件存储层采用了阿里云提供的对象存储服务,支持多媒体转码以及图片处理。

监控服务采用了Ucloud和阿里云提供的监控,可以通过短信和邮件得知服务状态。

日志服务采用ELK组合,聚合各种服务的日志信息,在管理平台进行统计分析。

其他应用服务包括即时通讯,邮件,电话,微信公众号托管,消息推送,高级搜索等。

主持人:在产品开发过程中,对于架构的把控和设计都有哪些要点?
刘铭: 创业公司的产品需要敏捷开发,快速迭代,敏捷不仅仅在于快速交付,实现功能。如果单单为了提高速度,而不考虑扩展性,规范性,那么就产品就会变得冗余笨重,难以持续性发展,甚至是需要重新造一次轮子。

敏捷的关键在于快速响应变化,在速度和质量上找到平衡点,只关注真正重要的事,而且要重视,少关注占用大量时间而意义不大的事情。

在架构的把控和设计上,就得与产品的敏捷开发相配合,不断的进行权衡取舍,下面介绍三个架构设计原则

  1. 明确目标:架构是为产品服务的,必须明确产品要实现的目标,才能确定架构要达到的标准。即使是同样的功能,但是目标不一样,做出来架构设计就可能不同。要充分进行沟通与思考,深入理解用户的需求,在做架构设计时,平衡好成本与性能,并保持架构的可扩展性。
  2. 大道至简:架构设计上应当保持简单可控,不做过度设计。相信没有最好的架构,只有最适合的架构。在满足产品迭代的前提下,尽量把架构设计得简单,让架构跟随业务发展而演进。
  3. 单一职责:把业务上的模块进行拆分,保持模块间的独立性,降低整个系统的耦合度。这样可以就对单个模块进行开发、测试、部署、升级,而不会影响其他模块。可将每个模块分配给不同的团队小组,开发时互不干扰,整体研发效率也得到提升。

主持人:云客服关键的技术难点和挑战有哪些?
刘铭:

产品上的难点与挑战:

  1. 多渠道聚合:把来自各个渠道的客户反馈与对话汇聚在一个系统,用统一的方式来响应和管理。邮件,电话,IM,微信最终都是以工单为载体的。这就不仅仅是技术上整合各个渠道,也要求深入理解各个渠道的用户使用习惯,在业务上找到合适的切入点,让各种渠道无缝衔接,提供一站式的客服平台。
  2. 高度自定义:云客服产品主要为用户提供两部分功能,一部分是公共的,满足用户基本需求。另一部分是提供灵活的自定义功能,满足不同用户的特殊需求。云客服需要支持域名、界面、字段、权限、统计、业务规则、提醒目标等的自定义,企业能够自定义出一个完美符合企业品牌与业务的客服平台。
  3. 开放平台:对于已有自己系统的企业,需要提供完善的集成方式,如SSO、Restapi、webhook、移动SDK,让用户可以轻易的将已有系统与云客服集成。

技术上的难点与挑战:

  • 高可用性:

基本要求是不能有单点故障,基本方法就是分层和冗余。可以利用负载均衡实现应用层高可用。

当一台应用服务器宕机,会由其他应用服务器接管,整个系统对用户始终保持可用。负载均衡也能起到让集群来分担访问压力的作用。实现方式上,可以先利用Nginx反向代理实现Http转发负载均衡。而规模稍大后则利用LVS实现IP层负载均衡或者数据链路层负载均衡。

搭建负载均衡的前提是把应用层变成无状态的。例如web服务中常用的session,可以利用缓存来分离出去。

可以通过主从复制实现数据层高可用。目前主流数据库都支持主从复制,基本原理是从库监听主库的日志变动,将这个数据变动及时同步到从库。从库既可以起到数据备份的作用,也可以在主库出现问题时,取代主库的角色,从而实现高可用。可根据业务的特性,设置合适的主从库比例。

为了更好的利用数据库主从机制,还可以进行读写分离,从而改善数据库的负载压力。数据写操作必须在主库上,读操作尽可能的在从库上进行。要进行读写分离,首先要面临的问题是数据同步延时。这个同步延时虽然可以通过一些方式来减少延时时间,但始终无法避免。要解决这个问题,比较推荐的方式,是在应用层或数据层做一个代理,这个代理要实现的是在写操作进行后,数据完全同步至从库前,强制从主库读取,这样就能保证数据的实时性。

  • 安全性:

数据文件所存放的硬盘都做了raid10保护,并对文件做异地同步,具备很高的数据安全性和可用性。数据是多份备份,多处存储,采用特殊加密方式,分离运维和开发的权限。

我们对产品的信息传输也进行了加密,数据传输加密采用SSL加密,即使被黑客窃取,对方也无法获取信息的明文内容,可以保证信息传输的安全性。

对产品所有流入和流出信息都进行了信息过滤,对XSS跨站攻击、后门木马、SQL注入等常见的入侵手段加以防护并不断改善,避免产品使用过程中的各种潜在风险。

主持人:对于未来云客服的发展前景有哪些思考?
刘铭:未来的云客服平台需具备三个特点:

  1. 移动特性:用户携带并使用移动设备的时间将远远超过pc,当用户碰到问题时,可以随时随地使用移动设备联系客服。借助移动设备,用户可以将问题出现时的照片,视频,地理位置等信息发给客服,便于客服更快速的定位问题并解决问题。
  2. 智能特性:大家都说客户就是上帝,服务上帝的客服压力也越来越大。云客服作为新一代的企业客服平台,会把客服也当成上帝,在提高客服工作效率的同时,减轻客服人员的压力,这就要求云客服具备智能特型,能够将常见的问题归纳整理,以自助的形式服务用户。
  3. 数据特性:企业的客服是跟用户直接打交道的,客服服务是企业获取用户信息的重要途径,这些信息就像是一面镜子,反射出企业的产品、管理、技术、服务等各方面的状态。具备数据统计分析的云客服平台,能充分利用客户服务产生的数据,以此来驱动企业在发展战略上快速做出正确的决策。

逸创云客服已提供移动客服,智能机器人,数据统计分析的产品,但从未来的角度看,还需要深耕细作。希望和用户一起,需求驱动产品,让未来早日到来!

主持人:未来公司的发展方向和定位是什么?下一阶段的发展重点是什么?
刘铭:逸创云客服致力于成为云客服领域的企业级服务商,专注为企业提供客户支持服务。

目前逸创云客服覆盖了所有的客户服务渠道,很好的完成了产品的市场布局。以后仍然会用心倾听来自用户的反馈,在每个渠道都进行深度的探索,满足更深层次的用户需求。后续将与更多的SaaS企业服务商合作,进行产品上的应用集成,打造一个全方位的云客服平台。

主持人:结合自身,谈谈技术人如何做到高效学习和提升技能?
刘铭: 学习是一个认知过程,是可以根据自身的能力与习惯进行规划,缩短由入门到熟练、再到精通的时间,以下是我个人关于学习进度的一些心得:

  • 首先,热爱要学习的技术,培养一些兴趣,是保证学习过程不半途而废的关键。
  • 阅读相关的内容,了解所学技术的历史与发展趋势,对于所学有个全面的认识,这样在学习具体细节时能把握重点,适当取舍。
  • 先易后难,学习是个循序渐进的过程,要给自己设置合适难度的关卡,保持信心。 温故而知新,有规律的重复是实现大脑长期记忆的唯一途径。
  • 最后,多与大牛交流,使自己保持正确的学习方向,提升视野。

主持人:谈谈创业路上的收获与思考,对于想要投身创业的年轻人的建议?
刘铭:

  1. 选定方向,现在有创业想法的人太多了,要先考虑清楚产品的商业价值,能够让用户说好才是真的好。
  2. 坚持不懈,创业不仅仅是努力工作,还有很多繁杂的事需要处理,很多挫折需要经历,要调整好心态,不能浮躁,踏踏实实做事才会离成功更近。
  3. 突破自我,创业过程中时刻充满了挑战,有些是自己擅长的,有些是自己讨厌面对的,作为一个创业者,不能给自己找任何借口逃避,必须拿出最好的姿态,迎难而上。

总之,创业的艰辛只有走过这条路的人才懂,一旦走上这条路就不能回头,为了成功,值得冒险。

主持人:对于想在技术上走的更远的人,有什么建议和忠告?推荐您觉得不错的一些资料或者书籍
刘铭:如今技术的更新越来越快,但是万变不离其宗,一定要夯实基础,才能厚积薄发。希望大家每学一门技术,都能领会一种思想,借此不断开拓视野,提高自己的技术修养,为世界创造出更多有价值的产品。

个人认为经得起时间考验的书是一定要看的,而且要多看几遍,所以给大家推荐以下书籍:

  • 《代码大全》
  • 《重构:改善既有代码的设计》
  • 《设计模式》
  • 《编程之美》
  • 《数学之美》
  • 《数据结构》
  • 《算法导论》
  • 《黑客与画家》

互动环节:你们的智能机器人和微软小冰有多大差距?
刘铭:在人工智能上和微软小冰的差距肯定是有的,不过我们会利用好自己的优势,就是基于云客服平台累积的用户数据,在用户允许的前提下,我们可以基于数据进行特殊分析,打造更有针对性的智能客服。

互动环节:关于数据库的设计是什么模式的?
刘铭: 数据库设计上运用了主从同步,读写分离,容灾切换
问:这个能够理解,重要的是关于,用户数据表的设计,是每个企业一个数据库,还是共享一个库,还是一个库,多个schame。关于这种模式的经验,有没有遇到过比较苦恼的事情。
刘铭: 在企业的数据上,我们首先在业务上分为了多个库,每个企业的数据是在同一个库,用户数据分为公共的属性和自定义的属性,公共的部分是在同一个表,自定义的部分是不同的schame。但是数据在使用上是完全隔离开的,这一点是最重要的点。
问:我们在考虑数据库的设计时,也是做了大量的尝试,考虑到不同企业之间的数据隔离,还要考虑数据库的规模,还要考虑应用之间的共存。没有最好的设计,只有最适合的设计,这也是一路走来的经验积累。现在阿里云已经发布了很多服务,有没有考虑多用这类的服务?还是这类的服务还不能满足现有的服务呢?对我们正在尝试的会有什么好的建议。
刘铭: 其实我们在图片处理、语音转码功能上,已经采用了阿里云提供的服务。使用成熟的第三方服务,可以使创业公司专注自己的核心产品价值。当然在使用前,还是得仔细考虑是否符合产品的需要。

互动环节:因为现在大数据云计算将来是一个趋势,所以想好好学习学习,我才毕业一年。
刘铭: 入门时可以以基础为重,多学习数据相关的理论,这样你以后的实践之路会走的更顺利。
问:是数据结构、算法方面的吗?
刘铭:对的,还有统计学相关的基础,这些理论知识可能就是以后成长的瓶颈,所以得认真学习。

互动环节:请问您对创业公司要不要花时间和资金培养新人的问题怎么看?
刘铭: 创业公司能够持久发展的动力来源关键是人才,但是由于创业公司资源有限,对于新人是否合适的判断标准要高一点,但是一经录用,肯定是要花很多精力培养的,这样在以后公司的发展中,才能担当重任。

互动环节:你觉得SaaS这种软件模式在目前中国的接受度如何?发展潜力如何?我知道在美国已经有相当的发展,如Salesforce。
刘铭: SaaS软件模式在2015年有了非常大的进展,预计在未来3年来会成为非常热门的行业,发展前景很广,市场很大。

互动环节:请问这个只是一个客服系统吗,他和其他系统,比如电商系统,微分销系统如何对接?数据库可以共享吗?
刘铭: 这不仅仅是个客服系统,可以称为一个客服平台。我们提供有sso用户集成,restapi系统集成,webhook推送提醒等,可以快捷的实现深度对接。数据库当然是独立的,不过可以通过接口调取

互动环节:刘总,请问SaaS在企业中主要在哪方面有实际的使用场景?
刘铭: 研发-大数据 SaaS的使用场景非常多,比如客服、物流、制造、计算、存储、网络加速、维修等。SaaS可以使企业在这些业务上取得更多的成效,也可以节约很多成本。


想与业界大咖零距离沟通,欢迎加入CTO讲堂微信群,参与CTO讲堂!

第1期:APICloud联合创始人兼CTO邹达:  以API为核心的移动应用云大发展时代;第2期:UPYUN CTO黄慧攀:  云加速和技术成长那些事儿;第3期:亿方云科技创始人兼CEO程远:  Box首位华人核心工程师的回国创业之路;第4期:UCloud联合创始人兼CTO莫显峰:  如何成长为技术合伙人?
第5期:听云CTO Wood:  APM实现原理及对IT和产品运营的价值
第6期:吆喝科技CEO王晔:  美国互联网公司A/B测试经验分享及企业技术选型探讨
第7期:箭扣科技CEO、联合创始人徐旸:  如何为App加载强大的通讯社交引擎?
第8期:金童软件执行长、CTO曾炼:  人工智能到底能为我们带来什么?
第9期:环信即时通讯云CTO马晓宇:  招人不易留人更难——创业团队要闯哪些关? 
第10期:一熊科技CTO、联合创始人唐晓敏:  简说创业公司的技术选型,从BearyChat开发说
第11期:武汉绿网副总经理雷葆华:  如何构建高性能网络服务平台及生态系统?
第12期:SequoiaDB巨杉数据库联合创始人王涛:  NoSQL对未来大数据发展的意义何在?
第13期:fir.im 创始人王猛:  将‘简单快速’渗透到移动开发测试每个环节,从fir.im团队说起
第14期:多备份创始人陈元强:  在线灾备革命背后的事
第15期:宝宝树CTO周涵宁:  深度?广度?浅析技术人员的职业发展之路
第16期:Testin联合创始人、产品VP谭斌:  从开发到上线,一个人的两周产品研发之旅
第17期:七牛首席架构师李道兵:  如何构建高可用和可伸缩的架构?
第18期:EasyStack联合创始人兼CTO刘国辉:  OpenStack行业实践和发展趋势探讨
第19期:Foxit software技术副总静楷:  面对世界竞争对手,如何拿到Google PDF开源项目PDFium?
第20期:Beecloud创始人黄君贤:  支付接入开发的陷阱有多深? 第21期:诸葛io创始人&CEO孔淼: Growth Hacking背后,数据分析平台的架构调整
第22期:叶帆科技创始人兼CEO、微软全球最有价值专家刘洪峰: 浅析工业级物联网项目的快速开发
第23期:好雨云创始人兼CEO、原澳客网CTO&CEO刘凡: 微服务架构在云端的应用
第24期:星图数据CTO崔仑: 独家直播双十一全网动态?前黑客“劳改”带你玩转大数据
第25期:兑吧联合创始人兼总裁陈高维: 工具类、新闻类、视频类等不同类型App的积分体系该如何搭建?
第26期:Worktile联合创始人兼CTO李会军: 揭秘高效协作工具背后的技术架构 第27期:云智慧首席架构师高驰涛(Neeke Gao): 如何通过APM持续构建高性能IT架构? 
第28期:洋葱创始人吴洪声(原DNSPod创始人): 密码泄露事件频发?探秘其背后的本质 第29期:云信CreditCloud CTO朱家波: 探秘互联网金融产品开发的技术路线图
第30期:极验验证CTO黄胜蓝: 如何用Python一门语言通吃高性能并发、GPU计算和深度学习
第31期:容联七陌CTO张杨: SaaS云端语音通信架构详解
第32期:Udesk CTO肖立鹏: 打造数据可靠、服务高可用的客服平台
第33期:乌云网创始人方小顿: 企业该如何打造自身的“安全免疫系统”?


CTO讲堂分享时间地点: 每周四或周五, CTO讲堂微信群

加入方式:扫描二维码加“C粉儿小助手”好友,申请入群。
图片描述
还不是CTO俱乐部成员的各公司技术负责人,欢迎立即加入俱乐部:cto.csdn.net 。
更多俱乐部动态,欢迎扫码关注微信号:图片描述

你可能感兴趣的:(【CTO讲堂】SaaS云客服平台技术架构探讨)