Serverless AI训练营:课时2:世纪联华的 serverless 之路(二)
课时2:世纪联华的 serverless 之路(二)
2、物理单机架构
然后,因为这个事件,他们决定彻底改变了整个部署架构。他们认为单机架构存在严重问题,因为没有人实时调试和修复问题,所以他们逐渐将架构改为中央机房架构。
在这个新架构下,所有的系统都被拆分到不同的进程中,并部署在不同的机器上。每个门店都有一个机器节点,可以访问不同的系统。与之前不同的是,数据库和每个系统都完全分离到不同的机器上,并通过连接进行通信。如果出现问题,只需重启某个系统的机器,问题可能就会得到解决,而其他系统则不会受到影响。
3、单机架构优劣势比较
让我们来看看这个方案的改进和不足之处。首先,问题可以集中处理。如果商品价格调整,可以直接进行更新。数据查询也可以集中进行,而不必像之前那样定期去统计文件。管理方面,不需要管理所有机器上的系统,操作系统内部的一些事情可以更容易地处理,例如网络通信或内存问题。另一个好处是可以管理采购,尽管采购量较大,但仍然可能需要时间来修复一些硬件问题。
这个新架构也存在一些不足之处。首先,硬件成本相对较高,因为随着用户数量的增长,可能需要购买更多的机器。
其次,性能画过程可能会更加复杂,因为需要涉及并发和升级。还需要大量的硬件资源,如果用户量突然上升,需要提前准备足够的硬件资源。软件和系统部署可能相对较慢,虽然在正常情况下比单机部署要低,但如果需要升级,通常需要将业务暂停,重新部署软件。架构的稳定性和可维护性得到了提高,但需要投入更多的资源和成本。
这个部分与前面提到的硬件层和硬件采购相关。在此基础上,由于这个原因,在后续的讨论中,因为我国云计算的快速发展。
在2016年左右,我们开始着手全面升级这个架构。这个过程中涉及到一些改进和不足之处。
改进之一是不需要涉及新的硬件采购,我们可以依赖云厂商的运维团队来处理这些事务,升级也非常简单,只需在控制台上点击几下即可完成,系统也无需手动传输,而且扩容的时间非常短,对于之前需要数周的操作来说,这是一个显著的改进。资源计算仍然是一个相对困难的问题,因为营销活动和资源投放往往提前计划,但实际效果很难精确预测。
4、物理单机架构的灾难
这使得资源计算变得更加复杂。监控大量机器的状态也是一项挑战,需要建立全面的监控系统,并且不同企业可能有不同的监控方案。升级的成本虽然相对较低,但如果出现紧急问题需要快速修复,可能需要重新生成镜像和重新部署应用程序,这个过程可能会有一些延迟,尤其是在发现代码错误时。
5、中央机房部署架构的演进
如果发现问题并且需要修复的话,可能会花费数小时。另一个问题是水平扩展,特别是在面对业务激增时,例如秒杀业务。如果无法及时扩容,整个系统可能会在一台服务器上积累大量请求,导致每个用户的响应延迟增加。费用计算也是一个挑战,因为营销活动和资源投放难以精确计算,可能会导致资源过度或不足的情况,这可能会引起财务上的问题。
另一个问题是数据库的单点故障,你提到了四g联华遇到的问题,他们使用了阿里云的MySQL,它本身没有问题,但是如果大量用户进行读写操作,而代码质量不佳,没有进行缓存或并发控制,那么线上业务可能会导致数据库单点压力过大。
这个问题不仅影响了数据查询,还可能涉及到购物交易等多个系统,因为每个用户的操作都会涉及到会员信息等数据,因此一个数据库故障可能导致多个系统的崩溃。
为了避免这种情况,他们进行了架构调整,引入了阿里云的表格存储,这是一个分布式数据库产品,它可以根据业务量自动扩容,减少了对底层机器的关注,使开发人员不再需要担心数据存储的计算量。他们还研究了函数计算等解决方案,以进一步优化计算部分。
但是,这个问题涉及到硬件层和硬件采购,因此需要解决。随着国内云计算的发展,我们在2016年左右开始着手全面升级我们的架构。这个过程中,我们进行了一些改进和发现了一些问题。其中的一项改进是,我们不再需要过多地关注硬件资源,而是将许多运维任务交给了云服务提供商的运维团队,并且升级变得非常简单,只需在控制台上点击几下即可完成。
扩容速度也大幅提高,我们可以更迅速地调整资源。这对于遇到需要提前扩容的情况非常有帮助。另一个改进是我们将数据库与应用程序分离开来,以更好地隔离不同的系统。这种架构更容易管理,因为每个系统都在独立的机器上运行,如果出现问题,只需重启相关系统的机器即可解决,而不会影响其他系统。
仍然存在一些挑战。资源计算仍然是一个复杂的问题,尤其是在涉及大规模营销活动时。营销团队可能会提前规划并在不同平台上投放大量广告,但实际带来的用户数量很难精确预测。这使得资源规划变得复杂,如果计算不准确,可能会浪费资源或导致性能下降。与此同时,手机监控也是一个挑战,随着机器数量的增加,监控每台机器的健康状态变得复杂,需要建立全面的监控系统。不同的企业可能需要定制自己的监控方案,以满足其特定需求。另一个问题是升级成本,尽管相对较低,但仍需要谨慎规划,以确保不会中断业务。