Serverless AI训练营:课时2:世纪联华的 serverless 之路(一)
课时2:世纪联华的 serverless 之路(一)
内容介绍
一、世纪联华超市简介
二、技术架构演进
首先,我对大家介绍一下整个的架构设计,然后完了之后会讲一下我在整个过程中遇到的问题。
朱鹏-阿里云Serverless研发技术专家
负责阿里云函数计算调度设计研发,在函数计算高并发、技术容灾、冷启动优化、调度资源管理、神龙裸金属技术架构等多个方向均参与了设计和研发实现,是阿里云函数计算神龙高密部署架构主导推动负责人之一。
目前主要致力于提升资源使用率,设计研发超大规模并发下的低延迟资源调度解决方案。
第二个部分将涉及整个技术架构的详细介绍。
第三个部分将分析一下,总结过去各个架构相关点的优劣势,
第四点再简单介绍一下我们计算给相关的一些功能,以及业绩发展和知识活动。
通常来说,在信息查询方面是不可避免的。因为用户在往上操作时,他们的时间点很大程度上是由用户自己掌握的。所以,如果你想在广告投放在特定时间点进行的话,这个问题实际上会相当复杂。在精选App和路线查询方面,涉及到了我们数据库的路线。
一、世纪联华超市简介
接下来,让我解释一下关于这个路线的情况。一般来说,如果用户量很大,数据库的读取可能会成为一个潜在的风险,因为用户的活动可能在某些时间点集中。第三点涉及商品管理。
二、技术架构演进
1、世纪联华技术架构演进方案
自2014年以来,这一领域发生了一些变化,特别是由于一些双十一事件导致了改进和迁移至专用服务器,以适应国内公共路线的发展。同时,我也逐渐将中央机房的一些功能转移到了云上。
2019年6月,我们面临了一个数据库问题,不过幸运的是,我们成功地进行了一些改进,逐渐开始采用架构。现在,让我们首先讨论一下单机价格和其背后的思维过程。
在最初的时候,有一种传统的观念,认为一个医院需要一台非常强大的计算机,上面运行着强大的数据库。这个数据库和其他系统一起构成了一个整体,这种整体通常由一个进程来管理,其中包括商品管理和客户端。这个客户端负责更新商品价格、管理进货采购和会员信息等。然后,这两个集群也会负责处理插入数据,比如交易数据,以及会员的充值和授权等操作。
最初的架构可以看作是将所有功能部署在一台物理服务器上,包括数据库、商品管理和客户端。
随着时间的推移,超市的规模通常不会太大,可能只有几台到二十几台服务器。操作速度通常很快,因此并发性要求也不高。一台服务器的并发请求通常在二十几个左右。因此,整个数据库和服务器的负载并不大
让我们来详细探讨一下:
这里的价格优势让这个架构非常简洁明了。因为所有的业务数据都集中在一台服务器上,这使得维护变得非常简单。
另一个优点是它不会受到外部网络环境的影响。这一点非常重要,因为在2000年左右,国内的网络基础设施还不是特别完善。可能一些网络问题,比如修路施工,都可能导致软件出现问题。
当时的业务量也非常大,因此不能容忍在某个地方出现异常后,数据库操作停滞了整整一分钟,甚至几十秒钟的情况。这种架构在当时的环境下是非常有优势的。
另一个优点是,由于数据分散在多台服务器上,它的并发压力相对较小。不过同样需要注意一些劣势。首先,数据库查询和汇总可能相对困难。例如,如果公司在浙江省有200家分店,总部想知道今天卖了多少可乐,必须逐个分店查询,这可能非常繁琐。数据分发也可能比较慢。
比如,如果我们想了解过去一周内风扇的销售情况,需要采购风扇,这可能需要很长时间。数据只能通过定期的库查询,例如每周,将不同分店的数据汇总,然后传输到总部,然后总部需要花费很长时间来统计和处理这些数据。
接下来,第三点是故障处理时间较长,当出现问题时,无法立即解决。例如,虽然问题出现的可能性很小,但当真的发生时,门店可能会陷入困境,难以迅速修复,因为没有相关技术人员在现场,需要从其他地方过来解决问题,进行调试等。
另一个问题是单点故障的难以应对。如果某个硬件或软件出现问题,可能会导致整个系统崩溃,而修复这个问题可能需要很长时间。
升级也变得更加困难。假设我们想要添加新的功能,就需要联系不同的IT人员,将程序发送给他们,然后他们会申请并检查,这个过程可能会非常复杂。再一个问题是,一旦将单点库部署后,处理新业务会变得更加复杂。
因为现在多个系统都在一个进程中,如果要改动与支付相关的问题,可能会导致一些不相关的系统也受到影响。例如,如果在支付时出现问题,因为本地数据没有及时上传,所有的子系统都可能被阻塞,导致整个门店的系统瘫痪。
当时的情况是由于耦合度过高,这个单点应用负担非常大。其他的线下支付方式也受到了影响,导致整个门店的工作都陷入了困境。我记得当时在门店里等了一个小时,最后通过其他方式解决了问题,临时开了一个空的柜台,进行现金支付,但这是一个罕见而困难的情况。