通常服务器的搭建数量是随着业务水平的变化而改变的,在短视频源码发展初期业务水平不高所以搭建的服务器也不多,但随着短视频源码的发展,业务水平越来越高,所需服务器也在不断增加,在增加服务器时,应该如何实现平滑地扩容呢?
一、停机方案
停机方案在执行时会直接停止提供服务,对用户体验的影响是非常直接的。具体执行步骤如下:
1、提前发布公告,告知短视频源码服务器需要进行升级。
2、关闭服务器,停止所有对外服务。
3、将短视频源码中的数据按照服务器层的算法进行拆分,并重新分配。
4、将旧库和新库中的数据进行校验比对。
5、修改服务层的配置算法。
6、重启服务器,恢复所有对外服务。
为保证各个环节的顺利进行,需要在短视频源码开发中实现回滚预案,如果某一环节的执行出现问题则立即回滚。由于该方案对用户使用体验的影响较大,所以需要在提前告知的时间内完成。
二、停写方案
在短视频源码开发中数据库是有读和写功能的,为了提升系统性能读写通常是分离的,因此实现平滑扩容还可以利用停写方案。具体执行步骤如下:
1、向用户发布服务升级公告。
2、关闭短视频源码中的写功能,数据库保持在只读状态。
3、拦截服务器层接收的写请求,均返回服务器正在升级中的提示信息。
4、将短视频源码中的数据按照服务器层的算法进行拆分、分配等处理。
5、备份旧库中的数据,并利用备份数据与重新分配后的数据进行校验比对。
6、修改服务器层的配置算法。
7、恢复数据库的读写功能,去除服务器层的拦截提示。
8、删除冗余数据。
在停写方案中也需要实现回滚预案,保证某一环节执行失败后可快速重来。在短视频源码中使用该方案停写的时间比较长,在扩容过程中数据需要复制,在扩容完成后还需要将冗余数据清理掉,过程较为繁杂。
所谓的平滑扩容就是在扩容过程中尽可能降低对用户使用体验的影响。短视频源码实现平滑扩容除了上述的两种方案外,还有日志方案、双写方案、平滑2N方案等,我们需要结合实际的扩容情况和数据量规模进行方案的选择。
声明:本文由云豹科技原创,转载请注明作者名及原文链接,否则视为侵权