短视频源码,实现平滑扩容的几种常用方式

简介: 短视频源码,实现平滑扩容的几种常用方式

通常服务器的搭建数量是随着业务水平的变化而改变的,在短视频源码发展初期业务水平不高所以搭建的服务器也不多,但随着短视频源码的发展,业务水平越来越高,所需服务器也在不断增加,在增加服务器时,应该如何实现平滑地扩容呢?

一、停机方案

停机方案在执行时会直接停止提供服务,对用户体验的影响是非常直接的。具体执行步骤如下:

1、提前发布公告,告知短视频源码服务器需要进行升级。

2、关闭服务器,停止所有对外服务。

3、将短视频源码中的数据按照服务器层的算法进行拆分,并重新分配。

4、将旧库和新库中的数据进行校验比对。

5、修改服务层的配置算法。

6、重启服务器,恢复所有对外服务。

为保证各个环节的顺利进行,需要在短视频源码开发中实现回滚预案,如果某一环节的执行出现问题则立即回滚。由于该方案对用户使用体验的影响较大,所以需要在提前告知的时间内完成。

二、停写方案

在短视频源码开发中数据库是有读和写功能的,为了提升系统性能读写通常是分离的,因此实现平滑扩容还可以利用停写方案。具体执行步骤如下:

1、向用户发布服务升级公告。

2、关闭短视频源码中的写功能,数据库保持在只读状态。

3、拦截服务器层接收的写请求,均返回服务器正在升级中的提示信息。

4、将短视频源码中的数据按照服务器层的算法进行拆分、分配等处理。

5、备份旧库中的数据,并利用备份数据与重新分配后的数据进行校验比对。

6、修改服务器层的配置算法。

7、恢复数据库的读写功能,去除服务器层的拦截提示。

8、删除冗余数据。

在停写方案中也需要实现回滚预案,保证某一环节执行失败后可快速重来。在短视频源码中使用该方案停写的时间比较长,在扩容过程中数据需要复制,在扩容完成后还需要将冗余数据清理掉,过程较为繁杂。

所谓的平滑扩容就是在扩容过程中尽可能降低对用户使用体验的影响。短视频源码实现平滑扩容除了上述的两种方案外,还有日志方案、双写方案、平滑2N方案等,我们需要结合实际的扩容情况和数据量规模进行方案的选择。

声明:本文由云豹科技原创,转载请注明作者名及原文链接,否则视为侵权

相关文章
|
监控 Android开发 iOS开发
盘点一对一直播源码iOS系统维持平台稳定功能(一):弹性扩缩容
参考代码:弹性扩缩容如何实现?System.out.println("扩容:增加直播平台实例"); currentCapacity++; } private void scaleDown() { System.out.println("缩容:减少直播平台实例");
盘点一对一直播源码iOS系统维持平台稳定功能(一):弹性扩缩容
|
移动开发 算法 JavaScript
平滑切换——PPT动画的全新玩法(原理篇)/04/O365智能系列(一)
平滑切换——PPT动画的全新玩法(原理篇)/04/O365智能系列(一)
2773 1
平滑切换——PPT动画的全新玩法(原理篇)/04/O365智能系列(一)
|
4月前
|
SQL Java OLAP
java实现“数据平滑升级”
java实现“数据平滑升级”
64 2
|
8月前
|
数据采集 DataWorks 安全
DataWorks产品使用合集之集成任务的并发度设置主要影响的是哪个
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
vr&ar 开发工具 图形学
Unity引擎更新收费模式:从收入分成转向游戏安装量,将会有哪些影响呢
Unity引擎更新收费模式:从收入分成转向游戏安装量,将会有哪些影响呢
|
缓存 容灾 安全
如何构建一个流量无损的在线应用架构 | 专题尾篇
我们将这些年在每一个环节中的相应解决方案,以产品化的方式沉淀到企业级分布式应用服务(EDAS)中。EDAS 致力于解决在线应用的全流程流量无损,经过 6 年的精细打磨,已经在流量接入与流量服务两个关键位置为我们的客户提供了流量无损的关键能力,我们接下来的主要目标也是将这一能力贯穿应用的全流程,让您的应用默认能具备全流程的流量无损,极力保障商业能力的可持续性。
756 12
如何构建一个流量无损的在线应用架构 | 专题尾篇
|
缓存 运维 负载均衡
如何构建流量无损的在线应用架构 | 专题开篇
本篇是整个《如何构建流量无损的在线应用架构》系列的第一篇,这一系列共三篇,旨在使用最为朴素的语言将影响在线应用流量稳定性的技术问题做一个归类,这些问题的解决方案有的只是一些代码层面的细节,有的需要工具进行配合,有的则需要昂贵的解决方案,如果您的应用想在云上有一个【流量无损】的一站式体验,可以关注阿里云的《企业级分布式应用服务(EDAS)》这个云产品,EDAS 也将会持续向默认接入流量无损的方向演进。
1139 13
如何构建流量无损的在线应用架构 | 专题开篇
|
缓存 Kubernetes 容灾
应用发布新版本如何保障业务流量无损(一)| 学习笔记
快速学习应用发布新版本如何保障业务流量无损
应用发布新版本如何保障业务流量无损(一)| 学习笔记
|
开发框架 运维 Kubernetes
应用发布新版本如何保障业务流量无损(二)| 学习笔记
快速学习应用发布新版本如何保障业务流量无损
应用发布新版本如何保障业务流量无损(二)| 学习笔记
|
缓存 Kubernetes 负载均衡
如何构建一个流量无损的在线应用架构 | 专题中篇
本篇是整个《如何流量无损的在线应用架构》系列的第二篇,这一系列共三篇,旨在使用最为朴素的语言将影响在线应用流量稳定性的技术问题做一个归类,这些问题的解决方案有的只是一些代码层面的细节,有的需要工具进行配合,有的则需要昂贵的解决方案,如果您的应用想在云上有一个【流量无损】的一站式体验,可以关注阿里云的《企业级分布式应用服务(EDAS)》这个云产品,EDAS 也将会持续向默认接入流量无损的方向演进.下一篇,我们将从数据服务交换的角度进行讲解,更重要的是下一章还会点出重点预防的两把钥匙。
755 8
 如何构建一个流量无损的在线应用架构 | 专题中篇