让餐厅放心的云服务-雅座CRM技术解密

发表于2015-07-02 16:03| 2036次阅读| 来源CSDN| 4 条评论| 作者杨砚

云计算SaaS雅座CRM
width="22" height="16" src="http://hits.sinajs.cn/A1/weiboshare.html?url=http%3A%2F%2Fwww.csdn.net%2Farticle%2F2015-06-30%2F2825089&type=3&count=&appkey=&title=%E9%9B%85%E5%BA%A7%E6%8F%90%E4%BE%9B%E4%B8%93%E4%B8%9A%E7%9A%84%E4%BC%81%E4%B8%9A%E7%BA%A7SaaS%E4%BA%91%E6%9C%8D%E5%8A%A1%EF%BC%8C%E5%AF%B9%E7%B3%BB%E7%BB%9F%E7%9A%84%E5%AE%89%E5%85%A8%E6%80%A7%E3%80%81%E7%A8%B3%E5%AE%9A%E6%80%A7%E3%80%81%E5%8F%AF%E9%9D%A0%E6%80%A7%E8%A6%81%E6%B1%82%E6%9E%81%E9%AB%98%EF%BC%8C%E6%9C%AC%E6%96%87%E6%98%AF%E9%9B%85%E5%BA%A7CTO%E5%AF%B9%E5%85%B6CRM%E6%8A%80%E6%9C%AF%E7%9A%84%E8%A7%A3%E5%AF%86%E5%88%86%E4%BA%AB%EF%BC%8C%E7%BB%8F%E8%BF%879%E5%B9%B4%E7%9A%84%E5%8F%91%E5%B1%95%EF%BC%8C%E9%9B%85%E5%BA%A7%E7%9B%AE%E5%89%8D%E7%B4%AF%E8%AE%A1%E4%B8%BA%E8%B6%85%E8%BF%8715000%E5%AE%B6%E9%A4%90%E9%A5%AE%E9%97%A8%E5%BA%97%E6%8F%90%E4%BE%9B%E7%B2%BE%E5%87%86%E8%90%A5%E9%94%80%E6%9C%8D%E5%8A%A1%EF%BC%8C%E7%AE%A1%E7%90%86%E8%B6%85%E8%BF%875000%E4%B8%87%E4%BC%9A%E5%91%98%E6%95%B0%E6%8D%AE%E3%80%82&pic=&ralateUid=&language=zh_cn&rnd=1435964501447" frameborder="0" scrolling="no" allowtransparency="true">摘要:雅座提供专业的企业级SaaS云服务,对系统的安全性、稳定性、可靠性要求极高,本文是雅座CTO对其CRM技术的解密分享,经过9年的发展,雅座目前累计为超过15000家餐饮门店提供精准营销服务,管理超过5000万会员数据。

【编者按】作为国内融资最为火爆的领域之一,企业级SaaS市场吸引了众多风投和创业者的关注。6月中旬,雅座正式对外宣布已获得数亿元人民币C轮融资,由支付宝母公司蚂蚁金服领投,再次引爆了整个国内SaaS市场。目前,雅座累计为超过15000家餐饮门店提供精准营销服务,而基于用户交易和消费行为的数据分析是精准营销的核心,如何快速处理海量数据,进行多维度、低延时的统计分析、数据挖掘,对系统性能和可伸缩性提出了更高的挑战。本文来自雅座CTO对其CRM技术的解密分享。

以下为原文:

一. CRM云服务的系统瓶颈

雅座CRM历经9年的成长,累计为超过15000家餐饮门店提供精准营销服务,管理超过5000万会员数据,日交易流水超百万笔,年交易额达200亿以上。

雅座提供专业的企业级SaaS云服务,对系统的安全性、稳定性、可靠性要求极高,这是企业的基本诉求。同时,基于用户交易和消费行为的数据分析,是精准营销的核心,如何快速处理海量数据,进行多维度、低延时的统计分析、数据挖掘,对系统性能和可伸缩性提出了更高的挑战。CRM的目标是数据营销,需要提供各种纬度的灵活的查询分析。举例来说,餐厅一个简单的需求,希望根据消费时间、性别、消费金额筛选出目标客户,随着数据量增大,仅靠关系数据库分库分表和索引优化已经难以满足企业的效率要求。高弹性、易扩展的大数据处理能力,在CRM云服务中日趋重要。

二. 雅座CRM系统架构

1. 目标客户金字塔模型

一个餐厅的辐射范围通常覆盖周围3公里,这个范围内的常客为餐厅贡献了80%以上的销售额。此外还有一些临时聚会,或手握超低价团购券的客人,这些客人并不能为餐厅带来持续性消费,不断的打折、跳楼价甚至可能会损害餐厅的正常经营,餐厅表面看似人头攒动,但桌均消费大幅降低,服务员前厅后厨百米折返跑,服务不断下降,最终导致把老顾客拒之门外。当餐厅经历表面的繁荣,发现营业额并无增长,试图提高价格时,图便宜的客人一呼而散,餐厅则难以为继。

因此,价格战永远不是一个好主意,管理好目标客户并带来持续性收入,才是一个健康的商业模式。雅座CRM通过用户消费行为分析,将目标客户锁定在常客和忠诚客户,降低企业营销推广成本的同时,提高营销活动的响应率,为餐厅带来更高的利润空间。所有这些用户群体的标签分类,依赖离线分析 + 在线分析引擎完成,为餐厅提供更准确、更及时的营销决策支持。

2. 业务架构

业务上,用户通过POS消费的数据,上传到CRM云端,一系列的数据处理分析后,系统为不同的餐厅提供特定的营销活动,将微信、短信、APP做为营销出口,和消费者产生互动,增加消费粘性,为餐厅带来更多价值。

3. 技术架构

1)数据迁移

随着IaaS和PaaS技术成熟,国内涌现出一批质量较高的云主机提供商。雅座选择了其中的两家,将自有数据中心迁移到了云主机上。迁移前,雅座的数据中心机柜紧张,原有机房扩容面临很大问题,一方面业务增长很快,数据中心扩容的需求日益急迫;另一方面,在线业务7x24小时不间断,无法停机维护做系统迁移。运维部制定了在线增量数据迁移方案,把数据库、搜索引擎的数据挂到pgq上,启动pgq生产者,将变化的数据写入队列。同时将数据复制到云主机上,复制完成后,启动pgq消费者,从队列读取变化的数据增量更新。

2)高可用性

一个数据中心内,消除数据库和应用服务的单点故障比较容易,但跨数据中心的高可用性,要考虑到网络拓扑、延时或中断、数据一致、处理效率等问题,比较繁琐。我们建立双活数据中心,不同数据中心分担不同的业务。按照业务响应的优先级别划分为两类:交易相关的实时业务,不允许超过分钟级中断;CRM数据分析相关的准实时业务,不允许超过小时级中断。主数据中心处理POS、微信、安卓终端等在线交易实时相关的业务,灾备数据中心处理CRM数据分析、定时任务、日志分析、Storm等准实时业务,通过pgq 和流复制各数据中心保持两份完整的交易数据。当数据中心或网络出现异常时,每一个数据中心所需的业务数据基本完整,此时有两个选择:a) 由一个数据中心全面接管所有业务。 b) 数据不同步,但各数据中心均可正常使用,异常解决后,继续同步数据。按业务响应分级容灾,可以更合理的利用双活数据中心,根据不同的异常情况,自动或人工做出响应。

3)数据同步秒级延时

雅座CRM的技术特点是数据处理手段多样化,为了满足灵活快速检索、统计分析、日常业务、读写分离等多种目的,交易数据会被同步到只读库、ES、Storm、GreenPlum数据仓库,目前正在启动Hadoop离线处理。衡量交易系统性能的关键指标是TPS和吞吐量,当TPS不断提升时,每秒处理的数据量也会大幅增加,数据同步的效率就尤为关键。通过压力测试和容量测试,可以计算出数据同步的效率是否符合要求。假设我们为10000家餐饮门店提供服务,单店高峰时段每小时100单,那么系统高峰期的吞吐量指标设定在1000笔/秒。为了满足效率要求,并考虑容错机制和可扩展性,我们设计了基于pgq的异步队列。Skytools是skype公司开发的一款基于Postgres的消息套件,在skype内部广泛使用,开发于2006年,2007年开源Skytools Framework,至今一直在使用和维护,使用场景如下:

  • 异步数据传输
  • 数千队列和消费者
  • 监控中心

Skytools包含三个组件:pgq、londiste、walmgr

pgq提供Python API,由异步处理机制去灵活调用。用于解决实时事务的异步批处理问题。

pgq由Producer、Ticker、Consumer组成,支持高可用部署。Producer将Events推送到Queue中,Ticker负责对批量Queue制定相应处理规则,Consumer从Queue中获取Events。

基于pgq,雅座CRM设计和实现了协同消费者模式,当系统超负荷时,一键式注册新的消费者,就可以实现多消费者协同处理,提升数据同步的效率。同时,根据负载水平和批大小,数据延时可以由Ticker动态调整。通过压力测试,我们可以验证部署方案是否满足需要,调整线上消费者节点数量。目前,雅座CRM可以做到多数据源同步秒级延时、水平扩展。

4)实时分析

目前雅座CRM核心数据量达到10亿级别,做为CRM云服务,灵活、高效的数据检索必不可少。一般来说,根据业务时间采用分库分表、历史数据迁移的方案降低活跃数据量,提升查询效率。但CRM系统跨年、连锁跨门店查询的需求比较普遍,分库分表会在实现方案上增加较高的复杂度,同时无法满足多种纬度的灵活查询,难以扩展。当分库分表后的数据量仍在一个较高的水平时,无法利用索引的全表扫描查询效率会大幅下降。

雅座CRM采用了Elasticsearch做为解决方案。Elasticsearch是一个基于Lucene的开源、分布式搜索框架,基本包含所有所需的特性:分布式搜索、分布式索引、零配置、自动分片、索引自动负载、自动发现、多索引查询,restful风格接口。它支持插件机制,有丰富的插件。比如和mongoDB、couchDB同步的river插件,分词插件,hadoop插件,脚本支持插件等。同时ES还是个准实时的搜索引擎,索引后的数据可以实时搜索到。在ES的应用场景中,更多的是将其做为非结构化数据的存储,通过性能测试和实验,ES同样适用于结构化数据的存储和查询。结合ES的分布式、分片、多索引联合查询的特性,雅座CRM将大数据量的随机查询效率提升了数十倍,达到秒级响应。

CRM的另一个技术特点是统计分析业务多,通过引入Storm流计算框架,将系统日志和pgq做为Storm数据源,结合业务特点,实现分级汇总的topology,我们将原有的T+1数据分析业务提升为实时计算,为企业提供更准确、及时的数据决策支持。

5)离线处理

离线处理主要是基于GreenPlum + 定时任务完成。Greenplum是基于postgresql的分布式数据库。其采用shared nothing架构(MPP),主机,操作系统,内存,存储都是自我控制的,不存在共享。主要由master host,segment host,interconnect三大部分组成。配合合理的分片策略和部署方案,GP的效率可以提升十倍以上。雅座CRM将复杂、难以拆分的SQL操作移植到GP上,大数据量的统计分析效率得到了明显提升。

6)SOA服务化

系统越复杂,耦合越紧密,可维护性和水平扩展越困难。雅座CRM业务覆盖短信、微信、交易、数据分析、智能终端等多个子系统,对吞吐量、并发、稳定性的要求很高。原有系统中,各业务系统紧密耦合是一个整体,已经很难满足水平扩展的要求。根据业务拆分系统,SOA服务化演变成系统升级的阶段性目标。在SOA的实现上,雅座CRM选择了Dubbo,Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。其核心部分包含:

远程通讯: 提供对基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式,比常规HTTP等短连接协议更快。

集群容错: 提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡,失败容错,地址路由,动态配置等集群支持。

自动发现: 基于注册中心目录服务,使服务消费方能动态的查找服务提供方,使地址透明,使服务提供方可以平滑增加或减少机器。

基础业务上,雅座CRM在Dubbo服务框架上做了分布式缓存同步机制,保证用户和权限及时刷新,为所有应用提供统一的用户服务;运维部署上,实现了跨机房就近调用、高可用、监控的目的,也为系统持续集成打下了更好的基础。

7)监控和预警

SaaS云服务对运维提出了更高的要求,因为雅座CRM系统服务的不仅是一个客户,而是成千上万的餐饮企业,系统每一次故障中断,都可能引起餐厅的直接经济损失,进而损害雅座的品牌形象。在雅座,系统稳定性被定义为最高优先级,是公司业务的基石,要在问题潜伏期提早发现,尽早解决。在运维环节,雅座自主开发和整合开源监控工具,7x24小时监控系统的各项性能指标,当性能指标超出伐值时,系统自动报警,通过短信、邮件及时通知运维中心,并做相应处理。

三. SaaS云服务的感悟

SaaS的出现,改变的不仅是软件体系架构,更多是企业服务的思维方式。传统软件的商业模式中,我们提供的仅仅是应用程序,用户去做运维、使用和学习,成本高、运维难、升级难、无服务、和用户无沟通是所有企业软件很难改变的现状。在传统软件模式下,软件开发商系统不断升级换代,但老用户却无法从中受益。当用户出现系统问题或使用问题时,软件企业无法快速定位问题、解决问题。软件企业不敢面对客户,因为客户始终不满意,对系统不满意,对服务不满意,用户在不断的抱怨中忍受软件系统带来的各种“灾难”。SaaS-软件即服务,为我们带来了新的思路,企业级市场中软件+服务缺一不可。软件的改变在云端,随着快速迭代的开发模式,用户不断享受无感知的系统升级带来的红利,通过产品运营和服务体系,雅座将快速帮助餐饮企业解决各种问题,让企业用户用的放心、满意。

让餐厅放心的云服务-雅座CRM技术解密相关推荐

  1. 爱客云服务催生CRM变革,爱客 中小企业如何选择?

    爱客产品由商家主导的卖方市场转向客户为主的买方市场后,CRM应用的出现让市场需求与企业发展之间呈现一种平衡关系,而处于上升阶段的云计算.云服务等公共服务产品的不断发展,使得CRM领域也不断产生变革. ...

  2. 关于视频直播云服务,这几点你不得不知

    导语:大家都知道,音视频云服务降低了硬件接入音视频的门槛,但是,在使用这一服务的过程中如何踩坑是一个问题. 说到音视频云服务,大多数人可能联想到的是网络直播应用场景,实际上,硬件对音视频云服务的需求也 ...

  3. Windows Azure移动终端云服务管理(公测版)

    概览 云在远方,管理在您手中.在这个移动为先 云为先的世界,服务不再是基于请求才提供,而是主动来到身边方便您的模式了.我们最近将会陆续推出几大移动端利器帮助您随时随地管理您的云服务. 首批利器之中排名 ...

  4. 埃森哲携手阿里云,采用K8s容器云服务为客户提供无限弹性

    简介: 埃森哲作为全球领先的专业服务公司,在数字化.云计算等领域拥有全球领先的能力,我们在多年的实际客户项目中,找到并沉淀出了适合企业数字化转型的方法论,积累了丰富的落地经验. 作者:姚迪.周警伟 随 ...

  5. 微信小程序云开发及背后的云服务支持。

    文章目录 导语 什么是微信小程序云开发? 云开发的优势 云开发的技术生态支持 微信云开发主要能力特性 云数据库: 云函数: 云存储: 身份认证: 云调用: 云开发与传统开发的模式区别 小程序云开发带来 ...

  6. 【云服务】如何让你写的小程序在多平台(投放到支付宝、淘宝、钉钉、WX、H5等多个平台)上运行?

    如何一次开发多端运行的小程序 简介 产品与服务特点 使用场景 跨端开发(一次开发多端运行) 方案优势 Serverless开发.运营套件 方案优势 经典服务器开发(快速构建和运维) 方案优势 小程序云 ...

  7. 百度智能云x银联商务 | 亚洲综合规模最大的支付服务机构,悄然布局金融级云服务...

    如果你是一名爱消费的购物者,一定经常见到"银联商务"这个标志. 银联商务股份有限公司(简称:银联商务)是国内规模最大的综合支付与信息服务机构之一.2017年,银联商务携手百度智能云 ...

  8. Mobvista亿级流量背后的云服务架构支撑

    Mobvista联合创始人.技术VP黄伟坚接过我的名片时,兴奋地说:"我们在北京也有办事处".这也让我能深切的感受到其作为Mobvista一员的骄傲.成立于2013年的Mobvis ...

  9. azure的虚拟机怎么选_Windows Azure案例: 选虚拟机或云服务

    01虚拟机和云服务 随着云计算技术和市场的日渐成熟,企业在考虑IT管理和运维时的选择也更加多样化,应用也从传统部署方式,发展为私有云.公有云.和混合云等部署方式.作为微软核心的公有云平台,Window ...

最新文章

  1. PostgreSQL的configure 干了些什么(二)
  2. JavaScript高级程序设计阅读笔记
  3. oracle表空间如何压缩,Oracle里表空间的压缩
  4. 我们为什么要学习3D建模?
  5. python构造数组并命名_Numpy数组追加命名列
  6. python+Django框架运用(一)
  7. Gradle-jar-aar
  8. 关于MIUI悬浮窗权限问题的解决方案
  9. [短评]什么是大教堂与集市(和谐)
  10. 小D课堂 - 新版本微服务springcloud+Docker教程_4-06 Feign核心源码解读和服务调用方式ribbon和Feign选择...
  11. C#实现检测打印机状态(包括打印机是否缺纸、打印队列任务数)
  12. 吴式太极大师战波简介
  13. 你的颜值打几分?——基于tensorflow实现人脸打分模型
  14. 针对平层住宅的分布式无线组网方案(含万兆NAS)
  15. hive 使用beelin连接报错
  16. 大众创业热度不减,好机友项目强势来袭
  17. Java - 关于HashMap通过keySet遍历kv的二次调用问题
  18. 7.读写HBase数据(华为云学习笔记,Spark编程基础,大数据)
  19. 数字标牌/广告机无线组网方案
  20. 国内外露天采矿技术发展趋势

热门文章

  1. 根据ip查经纬度软件_f.lux - 必须推荐给大家的开源免费的护眼软件
  2. android 之开关控件的使用
  3. C++多继承(多重继承)详解(二)命名冲突
  4. python executemany
  5. sql between
  6. python 二叉树遍历
  7. opencv 车牌切割
  8. Leetcode 剑指 Offer 11. 旋转数组的最小数字 (每日一题 20210916)
  9. 卷积神经网络原理及实现
  10. 论文笔记:Weighted Graph Cuts without Eigenvectors:A Multilevel Approach