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

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

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

一、停机方案

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

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

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

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

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

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

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

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

二、停写方案

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

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

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

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

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

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

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

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

8、删除冗余数据。

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

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

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

相关文章
|
移动开发 算法 JavaScript
平滑切换——PPT动画的全新玩法(原理篇)/04/O365智能系列(一)
平滑切换——PPT动画的全新玩法(原理篇)/04/O365智能系列(一)
2774 1
平滑切换——PPT动画的全新玩法(原理篇)/04/O365智能系列(一)
|
4月前
|
SQL Java OLAP
java实现“数据平滑升级”
java实现“数据平滑升级”
64 2
|
8月前
|
图形学 Android开发 开发者
U3D游戏开发实战:有效策略缩小包体大小,提升加载速度
【7月更文第12天】随着移动设备的普及,Unity 3D(简称U3D)作为一款强大的跨平台游戏开发引擎,成为了众多独立开发者和游戏工作室的首选。然而,面对日益增长的用户需求与有限的设备存储空间,如何在保证游戏质量的同时,有效缩减游戏包体大小,成为了开发者面临的一大挑战。本文将探讨一系列实用技巧和最佳实践,帮助你在U3D开发小游戏时显著减小包体尺寸,从而提升玩家的下载体验与启动速度。
207 12
|
10月前
|
Web App开发 移动开发 小程序
mPaaS常见问题之集成的uc浏览器so体积过大如何解决
mPaaS(移动平台即服务,Mobile Platform as a Service)是阿里巴巴集团提供的一套移动开发解决方案,它包含了一系列移动开发、测试、监控和运营的工具和服务。以下是mPaaS常见问题的汇总,旨在帮助开发者和企业用户解决在使用mPaaS产品过程中遇到的各种挑战
109 0
|
Android开发 iOS开发
一文了解图片降级方案
在做项目优化的时候,发现页面加载很慢。结果一看主要的问题就是就是图片的大小过慢,然后呢准备呢去做优化, 本来想去用webp,去优化的,但是呢这个图片是不是我们就用不了呢,然后看了下业界优化王,直接打开了淘宝网的首页。淘宝的首屏加载是很快的,然后 我就去看了下他图片的格式: 图片 这种图片其实是做了降级处理如果说 支持webp就使用, 如果不支持的话就使用jpg 为什么要做图片降级 图片的格式有很多 jpeg png webp等,我们经常使用webp格式的图片,因为webp格式的图片拥有无损压缩和有损压缩两种模式而且压缩率更高等优点。但是webp格式的图片同样也有缺点,ios webvie
一文了解图片降级方案
|
vr&ar 开发工具 图形学
Unity引擎更新收费模式:从收入分成转向游戏安装量,将会有哪些影响呢
Unity引擎更新收费模式:从收入分成转向游戏安装量,将会有哪些影响呢
|
缓存 容灾 安全
如何构建一个流量无损的在线应用架构 | 专题尾篇
我们将这些年在每一个环节中的相应解决方案,以产品化的方式沉淀到企业级分布式应用服务(EDAS)中。EDAS 致力于解决在线应用的全流程流量无损,经过 6 年的精细打磨,已经在流量接入与流量服务两个关键位置为我们的客户提供了流量无损的关键能力,我们接下来的主要目标也是将这一能力贯穿应用的全流程,让您的应用默认能具备全流程的流量无损,极力保障商业能力的可持续性。
756 12
如何构建一个流量无损的在线应用架构 | 专题尾篇
|
缓存 运维 负载均衡
如何构建流量无损的在线应用架构 | 专题开篇
本篇是整个《如何构建流量无损的在线应用架构》系列的第一篇,这一系列共三篇,旨在使用最为朴素的语言将影响在线应用流量稳定性的技术问题做一个归类,这些问题的解决方案有的只是一些代码层面的细节,有的需要工具进行配合,有的则需要昂贵的解决方案,如果您的应用想在云上有一个【流量无损】的一站式体验,可以关注阿里云的《企业级分布式应用服务(EDAS)》这个云产品,EDAS 也将会持续向默认接入流量无损的方向演进。
1139 13
如何构建流量无损的在线应用架构 | 专题开篇
|
缓存 Kubernetes 容灾
应用发布新版本如何保障业务流量无损(一)| 学习笔记
快速学习应用发布新版本如何保障业务流量无损
应用发布新版本如何保障业务流量无损(一)| 学习笔记
|
开发框架 运维 Kubernetes
应用发布新版本如何保障业务流量无损(二)| 学习笔记
快速学习应用发布新版本如何保障业务流量无损
应用发布新版本如何保障业务流量无损(二)| 学习笔记