怎样做视频上网站赚钱,电子商务 网站开发,网页截图快捷键在哪里,公司名称大全四个字导语 | 在数字化浪潮席卷全球的今天#xff0c;每一个行业都在经历着前所未有的变革。餐饮行业作为人们日常生活中不可或缺的一部分#xff0c;更是面临着巨大的转型压力。如何完成数字化转型#xff0c;打破传统经营模式的限制#xff0c;成为摆在众多餐饮商家面前的一道难…导语 | 在数字化浪潮席卷全球的今天每一个行业都在经历着前所未有的变革。餐饮行业作为人们日常生活中不可或缺的一部分更是面临着巨大的转型压力。如何完成数字化转型打破传统经营模式的限制成为摆在众多餐饮商家面前的一道难题。餐饮行业如何在当下数字化时代找寻自己的出路今天我们特邀了乐凯撒 CTO 黄道泳老师他将为我们深入解读以乐凯撒为代表的餐饮行业的数字化转型之道。 作者简介 黄道泳腾讯云 TVP乐凯撒 CTO。目前主要负责乐凯撒的整体信息化、数据化和智能化的建设。拥有14年的企业信息化和数据化建设经验。在乐凯撒面向新餐饮的服务转型中积累了丰富的实践经验并对 Serverless 技术在实际生产中应用有独到的见解。曾担任 IBM Webshpere 中国区官方论坛的版主和专家对于系统架构性能调优略有心得。 一、从餐饮行业的五大特征看数字化转型的必要性 近年来随着数字技术的持续发展、迭代和应用推广餐饮行业的堂食已经从人力点餐快速演变为扫码点餐外卖送餐不仅仅是在线点餐即时配送更是与短视频、线上直播有效结合以短视频营销、线上直播营销的形式在数字化变革中为消费者带来最直观的体验。 首先在餐饮行业中消费呈现出脉冲型特征存在着明显的高峰期。这种波峰波谷的差异很大主要集中在午餐和晚餐这两个用餐高峰时段。在这些时间段内餐厅通常会迎来大量的顾客。 其次餐饮业务具有交易敏感型特征订单交易系统需要快速实时响应。顾客在现场点餐时期望能够得到及时的消费响应因此餐饮企业需要具备良好的灾备能力和快速响应机制。由于没有太多时间来进行服务器扩容等操作餐饮行业在面对突发情况时需要迅速作出应对。 第三餐饮业务是一项 24 小时不间断的服务业务基本上不接受停服更新。餐饮企业需要保持持续的运营确保顾客能够随时享受到美食。因此在进行系统升级或更新时餐饮企业需要采取一些特殊的措施以确保业务的连续性。 第四与金融、电信、科技等行业相比餐饮业对于信息技术的投入相对较低。餐饮行业普遍面临资金有限的问题无法像其他行业那样进行大规模的 IT 投资。这也意味着餐饮企业在信息化建设方面可能面临一些挑战需要在有限的资源下进行合理的规划和选择。 最后餐饮行业的信息化链条相对较长涉及多个系统的对接和整合。餐饮企业通常需要应对大量异构系统的集成使得各个环节能够无缝衔接。此外餐饮行业还会面临大量临时性、一次性的紧急需求例如各种节日促销活动。这些临时需求对系统的灵活性和快速响应能力提出了更高的要求。 综上所述餐饮行业应根据以上五大特征了解并应对这些特征对于餐饮企业的信息化、数字化建设和业务发展至关重要。 二、云函数的独特优势助力餐饮行业实现数字化 众所周知云函数是一种无服务器Serverless概念的技术在餐饮行业进行数字化转型中具有多项优势。首先它实现了自动化弹性执行根据使用量进行收费并根据调用曲线自动扩缩容以应对高峰期的服务压力。这种按需付费的模式不仅经济实惠还能在闲时减少费用提高系统稳定性和灾备能力。 其次使用云函数可以摆脱繁琐的部署和配置过程无需自己安装软件和配置服务器脚本。特别适用于临时的、低频的应用部署可极大地节省服务器资源。而且在不使用时无需额外销毁处理进一步简化了管理流程。 云函数采用按需付费和毫秒级计费模式永远不会在空闲时间产生费用。这对于脉冲式的访问业务具有明显的优势并且可以针对低峰期和晚上的用量极低的情况进行优化有效降低成本。 云函数支持高可用部署它可以自动选择每个地域中的可用区来运行。如果某个可用区发生灾害或电力故障等导致瘫痪云函数会自动切换到其他可用区的基础设施上运行从而减少了单可用区运行的故障风险。这使得异地灾备的问题基本上不再需要考虑。同时云函数还支持快速发布新版本和版本回退实现了无感知的发版和版本回退。 最后云函数的天然微服务模式使得每个函数都专注于某个特定的任务通过相互协作可以构建复杂的应用程序。这种模块化的架构使开发者能够更灵活地管理和调整不同功能模块的资源消耗实现快速迭代和部署。 在我看来云函数是一种经济、实惠、稳定且灵活的技术它能够根据实际需求自动弹性执行节省资源按需付费并具备高可用性和灾备能力。 同时它天然支持微服务模式使开发者能够更灵活地构建和管理应用程序实现快速迭代和部署。 三、乐凯撒餐饮高并发场景下的最佳实践 当前国内的餐饮行业已经从增量市场转变为存量市场在市场总额有限的情况下在互联网、大数据等新一代信息技术迅猛发展的时代背景下数字化成为帮助餐饮企业增加收入、降低成本、提升效率的重要工具。 毋庸置疑餐饮收银 POS 系统作为餐饮门店最核心的业务系统其中涉及大量实时交易的模块例如订单、支付、打印、会员、优惠券等。我们乐凯撒用腾讯云函数最早做的是小程序的点单服务后来逐渐扩大到门店的云打印、会员标签的计算等等总的来说包括独立应用、分布式计算和定时任务这三类业务。 在餐饮行业中数字化系统的建构“效率”最为关键这也正是乐凯撒选择携手腾讯云借力腾讯云函数 SCF、消息队列 CMQ、TDSQL 等现有的成熟云产品的原因所在不重复造轮子通过好的工具有效实现降本增效不断深化乐凯撒的数字化布局。 当前我们基本上与腾讯云深度绑定用的产品包括云函数 SCF、消息队列 CMQ、TDSQL、MySQL、COS 存储等。 其实我们乐凯撒在正式使用云函数来支撑餐饮 POS 系统前主要采用传统的 Java 体系的 J2EE 架构通过部署不同的独立模块的系统来支撑门店的以上业务。 图1餐饮POS系统架构图 其中我们乐凯撒的部分业务已经采用了云函数模式进行运行而主要的 POS 业务和会员业务等仍然是通过各自独立的服务器集群进行部署。 然而在去年 2 月份我们乐凯撒遭遇了一次突发活动这导致访问量急剧增加。在晚上 9 点多的时候由于一个免费优惠券在社媒上传播不到一个小时的时间内就有 18 万份优惠券被领取。这直接导致系统崩溃并在接下来的几天里引发门店爆单、系统响应变慢等问题。 图2系统后台访问数据图 如上图所示我们乐凯撒遭遇了一次访问量剧增整体访问量增加了 20 倍。这导致我们的 POS 收银系统无法承受最终不得不停止服务。 在进行系统复盘后我们提出了两个解决方案
● 方案一增加服务器资源加强服务器灾备能力并实现快速自动化部署脚本以便对服务器集群进行扩容。然而这个方案需要额外的服务器预算并且大部分时间服务器资源处于闲置状态同时也增加了运维的复杂性。
● 方案二采用云函数来实现和部署这类脉冲型业务无需额外采购服务器也无需进行大规模的扩容和相应的运维工作。然而这需要对现有业务进行重构和调整以适应云函数架构。 经过综合考虑我们最终确定了方案二将优惠券服务、订单服务和菜单服务从现有系统中分离出来采用云函数进行单独运行和部署。这样能够更好地适应脉冲型业务的需求。 调整后的架构图如下 图3调整后的系统架构图 通过将订单服务和优惠券服务转换为云函数架构我们显著提升了系统的整体稳定性。几乎没有发生系统崩溃或响应过慢等问题并且我们几乎没有增加服务器预算的成本。 然而在 2024 年 2 月份我们乐凯撒遇到了两次类似的业务激增情况。一次是在 2 月 21 日访问量接近 20 万次另一次是在 2 月 23 日访问量接近 40 万次。然而我们的系统在这些情况下都能平稳运行下去。有趣的是我甚至是通过门店爆单的情况才了解到访问量的剧增。 与此类似我们的支付服务和打印服务一直采用云函数模式运行并且从 2018 年上线至今几乎没有遇到过压力过载的故障。其中我们的打印服务是访问量最高的服务平时每分钟处理接近 4000 次请求采用了 WebSocket 通信协议。 总而言之通过将关键服务转换为云函数架构我们不仅提高了系统的稳定性还能应对突发的业务激增情况。支付服务和打印服务作为长期采用云函数模式运行的示范也展示了它们在处理高访问量时的出色表现。 图4系统访问趋势图 在这个案例中我们乐凯撒采用了云函数的自动扩缩容、按需付费、高可用和微服务化的模式以解决业务需求。在进行云函数改造的过程中我们总结了一些问题 ● 相对于其他语言云函数对 Java 的支持较弱。由于我们的大型或复杂业务系统主要使用 Java 实现早期上线的支付服务和打印服务采用了 Node.js因此上线相对顺利稳定性和体验都比较好。但要使 Java 应用在云函数上更好地使用需要付出更多努力。
● 纯 Java 语言的功能相对有限为了高效开发通常需要依赖开源框架尤其是 Spring。
● Java 启动慢内存占用大与其他语言相比在 Serverless 云函数下会占用更多资源。对于复杂业务系统每个接口部署一个云函数会增加部署和管理成本。
● Java 应用涉及数据库请求时通常会使用数据库连接池进行管理。然而在云函数中连接池不能设置得太大最好在 3-5 个之间否则会导致数据库连接数过高。由于云函数是为每个请求开启一个类似 Java 进程的服务当并发量较大时云函数会创建大量的 Java 进程进而导致数据库连接数过高。
● 迁移现有业务代码至云函数时需要尽量减少修改实现无缝迁移并支持本地调试和模拟云端环境但目前还没有较好的解决方案。
为了解决上述问题我们乐凯撒自研了一套兼容云函数和 SpringBoot 这两种模式都能正常运行的框架。该框架支持在本地调试和测试环境下直接使用 Spring Boot 或 Tomcat 启动而在正式环境中则直接采用云函数运行。此外该框架还支持一个云函数部署多个访问接口的服务使云函数能够按模块划分微服务。 我们已经将该框架开源并在 GitHub 上发布了一个简单的订单服务 demo 样例感兴趣的朋友可以自行前往查看《基于腾讯云函数部署的springboot》 https://github.com/lacesarLabs/tencentyun-scf-springboot 其实如果要广泛应用云函数我们必须面对一个必须解决的问题即大规模应用 Java 语言的云函数化。由于许多商业软件和复杂应用都是使用 Java 实现的我们需要一个能够与 Spring Cloud 等微服务生态系统媲美的云函数框架以及云函数调用的框架或平台以更好地替换和升级现有的 Java 应用。这个框架应该支持基于云函数的函数注册、函数管理、函数调度和函数发现等配套功能。 在这个案例中我们乐凯撒通过这个框架成功地将相关服务快速迁移到云函数上。最初我们将云函数视为灾备和临时扩容服务但在测试运行后发现其稳定性和性能表现出色于是将其作为正式环境的服务而虚拟机中的服务则成为备份。 其实整个解决方案的成本只占了方案一所需的正常服务器资源费用的不到 10%。在这个方案中我们完美应用了云函数的几个重要特性自动扩缩容、按需付费、天然的微服务模式以及高可用和无服务器概念。 结语 总而言之餐饮行业中各企业进行数字化转型已经是大势所趋。企业适应数字化趋势积极推动数字化转型通过建设数字化、智能化平台可以有效助力企业提高效率、降低成本、优化运营并提供更好的产品和服务在竞争激烈的市场中脱颖而出实现可持续的增长。