用POLARDB构建客到智能餐饮系统实践

摘要: 在新零售成为大趋势的今天,餐饮行业也加入到这一浪潮之中。智能餐饮系统将帮助餐饮行业从多个维度提高本身的运营能力和收益,而打造智能餐饮系统SaaS化能力也成为了目前的一个热点。本文中果仁软件联合创始人&研发副总赵亚南就为你们带来了关于使用阿里云POLARDB构建客到智能餐饮系统实践分享。前端

在新零售成为大趋势的今天,餐饮行业也加入到这一浪潮之中。智能餐饮系统将帮助餐饮行业从多个维度提高本身的运营能力和收益,而打造智能餐饮系统SaaS化能力也成为了目前的一个热点。本文中果仁软件联合创始人&研发副总赵亚南就为你们带来了关于使用阿里云POLARDB构建客到智能餐饮系统实践分享。数据库

本次分享中,首先介绍了“客到云餐饮”这款SaaS化产品,其次介绍随着业务发展所须要面对的挑战,以及“客到”为何要选择POLARDB。第三将讲述使用POLARDB的解决方案以及迁移的整个过程所作的实践,最后将分享将数据库架构升级到POLARDB以后的效果。缓存

果仁软件与“客到云餐饮”背景介绍

果仁软件早在2008年就是淘宝服务平台的第一批软件开发商,当时作了“麦多多”产品,也正是由于这款产品,果仁软件成为了阿里云的第一批客户。在使用阿里云的过程当中也逐渐更多地了解了这些云产品,目前总体的技术架构都是基于阿里云的。使用阿里云产品为果仁软件带来的好处就是节省了大量运维成本,可以使技术团队更加专一于自身产品和业务的开发上。四年前,基于使用阿里云的经验和对于软件的理解,果仁软件参与到了餐饮行业的SaaS化软件“客到云餐饮”开发中。客到主要实现了SaaS化餐饮解决方案,包括了点餐、收银、财务以及后厨管理和营销、员工绩效考核等。安全

“客到”经过智能化、数字化的餐饮服务软件,能够帮助餐厅更好地提高经营效率和服务质量,让客户真正地享受到餐饮行业所带来的服务。智能化点餐以及收银可以帮助餐厅很好地下降了人力成本和时间成本,智能化餐饮系统可以让餐厅的工做人员直接在报表中看到全部的流水信息,使得对帐工做更加轻松简单。餐厅的厨师自己就很是忙碌,那么借助智能化后厨管理就能帮助厨师有序地制做菜品,进而提高后厨效率。会员营销是SaaS化中经常使用的功能,可是对于餐饮行业,传统会员营销方式并不能有效地吸引顾客,而借助智能系统,餐厅能够开展店内店外的智能营销,使得活动更加高效,为餐厅带来更多的资金流。不少餐饮企业愈来愈注意实时化的信息,对于报表的实时性要求更高。所以,餐饮行业的SaaS化就能够从这样的切入点开展。此外,“客到”在用户体验上也作了精细化设置,比较简洁、实用。而经过软件与智能硬件的配合,就可以更好地赋能餐饮行业。服务器

“客到”借助阿里云的SaaS化发展之路

餐饮行业的特色就是业务峰值比较高,特别是午饭和晚餐时段这一点就体现的更为明显。经过阿里云后台的云监控能够看到在这两个时间段,几乎在瞬间系统压力就会大幅度提高,这就须要系统可以很好地应对峰值状况。此外,周末的晚上会比平时出现更大的峰值,可以达到平时的2到3倍。并且餐厅的订单数据量也是很是大的,正常的一家中餐厅每餐大概会销售200到250单,一些快餐厅甚至会达到1000到2000单。这样若是服务1万家餐厅,订单量就能达到天天100万,每一年订单量就会达到七、8亿。结合菜单的明细数据,这样的数据量是很是大的。并且因为涉及到订单、会员以及促销等信息,所以表结构也会比较大,并且在高峰的时候这些业务都会出现高并发。此外,因为餐厅的特色,所以对于系统的稳定性要求很是高,基本上能够说是“365*24”小时的可用性要求。由于不少餐厅不只提供中餐和晚餐,还会提供夜宵和早餐。以前用户量小时,就能够等待用户没有的时候进行发布新版本,而当用户量增大以后发现,这样的空闲时段已经不存在了。网络

在最初设计餐饮软件的时候,认为只要餐厅有网络就彻底能够实现SaaS化。可是后来发如今业务高峰的时候,即便带宽足够,可是在访问云端数据的时候仍是很是差,甚至中断而影响业务。基于这样的状况,客到实现了本地的架构调整,可以实现即便断网也不影响业务流程的继续运行,用户对于网络状况能够实现无感知,这一点在友商内可以作到的也并很少,所以也收获了较好的口碑。架构

随着业务发展量愈来愈大,用户量也愈来愈多,需求不断增长,业务的逻辑也愈来愈复杂。随着多种点餐方式以及多种下单场景的增长,对于业务调整的及时性要求愈来愈高。此外,产品线也愈来愈丰富,从3个产品飞速扩展获得8个产品。而随着业务量的增加,历史数据也飞速增加,有时候会由于云端的“慢SQL”出现卡顿,暴露出一些隐藏的问题。经过阿里云监控,及时地感知到高峰时期的CPU、内存等的报警信息,进而增长服务器或者服务器组的处理。针对于上述出现的问题,常常会作一些相应的分析。从页面的加载、前端再到后台数据库都会进行排查。在系统优化方面,会天天排查出慢SQL进行优化,包括RDS也会存在慢查询的统计,虽然慢查询并不会影响业务的正常运转,可是总会带来一些很差的用户体验。针对于以上的状况,须要增长一些索引机制以及缓存层等,对于一些历史数据进行归档,对于一些业务进行拆分,减小单表的压力,同时使得业务架构更加清晰。并发

虽然以上的技术问题并不会影响业务的正常运转,可是有限的研发精力老是被这些技术问题所牵绊,就会影响技术团队开发新的需求和功能的速度和效率。特别是对于创业公司而言,研发效率和用户需求是最为注重的关键点。所以更加但愿将技术精力集中在产品业务的开发中,作好产品,服务好客户。若是可以经过更好的技术方式和产品减小非主线研发的工做量也是各个公司以及架构师所须要考虑的。也就是说除了须要解决当前问题,还须要可以支撑起两年以内的业务扩展,虽然中间也会经历架构演变,可是对于架构师而言,须要作到内心有底。此外,好的产品必定可以提供好的性能,同时在费用上须要作到可控和可预算。负载均衡

为你们简单分享一下“客到”基于阿里云的架构设计。首先,从用户开始访问开始,阿里云提供了域名解析服务和CDN加速以及网络安全方面的Web应用防火墙。通过域名解析以后就到了前端的服务器,而经过负载均衡器将会将前置服务器和后置服务器再次分离,进而解决应用层面的并发请求量。应用服务器为了解决Session共享问题能够应用Redis解决,实现单机出现宕机不影响用户使用,从而实现高可用。同时Redis缓存能够有效缓解数据库层面的压力,可是在使用的时候也须要注意其自身的特色,好比带宽限制以及逻辑上须要和存储层保持一致。存储层以前使用RDS,如今换用了POLARDB,以前经过一台主RDS和几个RDS只读节点就基本上解决了关系型存储,能够对于订单的历史数据完成异步的备份。对于文件和图片等的存储能够放在阿里云OSS之上,这样比放在磁盘上更加节省成本。在安全方面,使用最多的就是云监控产品,这样就能够实现问题的提早监控预警。在设计架构的时候,架构师须要不断地梳理架构,这样在进行架构演进的时候就能够容易地分析和判断架构是否能够迁移。运维

“客到”数据库架构向POLARDB迁移实践

在进行架构迁移的可行性分析的时候,首先要把如今架构的状况,涉及到的业务以及运行的主机、ECS以及OSS都须要进行风险评估。因此在实际进行系统迁移的时候须要首先进行评估。以后为了打消研发和产品对于采用新技术和产品的顾虑,就须要作充分的准备和测试,好比对于应用POLARDB而言,须要对于性能进行充分测试,好比100%兼容MySQL,还须要对于业务进行全流程测试,在测试完成以后须要第一时间进行测试反馈。在迁移以后须要进行效果评估,“客到”在迁移到POLARDB以后发现页面响应速度获得了80%的提高,复杂SQL处理性能获得了200%的提高,而费用则下降了20%。并且整个迁移过程只使用了1个多小时,生产环境目前平稳运行,而且业务代码没有作任何修改,只作了配置文件的简单替换。

最后为你们分享在数据库架构迁移过程当中须要注意的两个关键点,第一点就是VPC的迁移,POLARDB使用的是VPC网络链接,那么在迁移的时候就须要作好网络规划,须要把握好时间点。此外,须要注意白名单的变化,由于在整个网络架构发生变化的时候,外网IP的变更有可能影响到第三方接口调用。

原文连接

相关文章
相关标签/搜索