怎么搭建短视频系统?全套负载均衡方案

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
传统型负载均衡 CLB,每月750个小时 15LCU
简介: 负载均衡的表述性解释咱不再说明,自行谷歌或百度即可。这里主要介绍两种负载均衡的方案。

短视频系统跟直播系统有一样的特点,面向的用户群体数量较大,聚集时间点集中。比如午饭时间,晚上休闲时间。所以做好系统的负载特别重要,既能提高系统的稳定性和可用性,从侧面来讲也能提高用户的体验和用户留存。
311

负载均衡的表述性解释咱不再说明,自行谷歌或百度即可。这里主要介绍两种负载均衡的方案。
方案一:使用运营商成熟的方案,比如阿里云的负载均衡SLB,腾讯云的负载均衡CLB。这些成熟的方案稳定性高,运维成本低。只需要日常维护后端服务即可,不过除非你是一定量级的大客户,否则无法个性定制。
方案二:自建负载均衡,该方案需要有基础的运维能力。需要运维人员持续跟踪,可以自由扩展定制。前期数量级小的话,建议走这种方案。后期数量级大的话,还是走方案一比较稳妥一些。
这里介绍下方案二自建负载均衡的方式。按照最小方案来举例说明,均用1核1G5M带宽的服务器。注意:后期上线需要根据自身业务的情况进行配置扩展,这里是做演示举例用最低配置即可。
一、首先需要准备相关资料,如下:

1.系统域名
2.Nginx负载服务器 1台(用于前台分发)。
3.Web 后端服务器 2台(配置PHP环境,放置管理后台和接口)
4.Mysql 数据库服务器 1台(配置数据库)
5.Redis 缓存服务器 1台(配置缓存)
6.Session 共享服务器 1台(共享数据Session)
7.以上服务器必须存在一个内网中,响应速度等体验会好一些。

二、其次将各个服务器按照原始系统的搭建方式进行依次搭建。这里重点说明下Nginx负载服务器和Session缓存服务器的搭建和配置方式。
1.Nginx负载服务器的搭建,假设入口域名是yunbaozhibo.com

1.1安装pcre(依次操作)
获取pcre编译安装包,在在pcre.org/上可以获取当前最新的版本。
   解压缩pcre-xx.tar.gz包
  进入解压缩目录,执行./configure
执行安装make & make install

1.2 安装openssl(依次操作)
 获取openssl编译安装包,在openssl.org/source/上可以获取当前最新的版本。
解压缩openssl-xx.tar.gz包
  进入解压缩目录,执行./config
  执行安装make & make install

1.3安装zlib(依次操作)
获取zlib编译安装包, zlib.net/上可以获取当前最新的版本
解压缩zlibxxx.zip包。注:这里的tar包应该是有问题,没法命令解压,只能换zip包
进入解压缩目录,执行./configure
执行安装make & make install
1.4安装Nginx
获取nginx,在nginx.org/en/download.html上可以获取当前最新的版本
  解压缩nginx-xx.tar.gz包
进入解压缩目录,执行./configure  这里会自动关联上边的三个组件
执行安装make & make install

1.5配置相关信息
安装完成后,nginx在/usr/local/nginx中, nginx.conf在该文件下的conf中 nginx启动在sbin中。
配置nginx.conf文件
在http{}中的server{}前添加
upstream    yunbaozhibo.com{
            ip_hash;   #第一次配置负载用ip_hash来处理session,后期修改为session复制
            server  192.168.7.11:80; #这里是web服务器的内网ip
            server   192.168.7.22:80; #这里是web服务器的内网ip
            #这里最好加一个简单的后备server,web全挂后跳转到他,友情提示下服务器正在维护。
}
在http{}中的server{}中的location /{}添加
proxy_pass yunbaozhibo.com;
proxy_set_header Host $host;
proxy_set_header  X-Real-IP  $remote_addr;
proxy_set_header  X_Forwarded-For $proxy_add_x_forwarded_for;
配置完后,启动nginx              /usr/local/nginx/sbin/nginx

2.Session服务器的配置,假设Session的服务器ip为192.168.7.2。Redis端口为1122
这里的Session服务器是使用Redis来缓存共享Session的。
2.1正常安装并启动Redis服务
2.2 找到web服务器中的php.ini文件,修改如下
找到;session.save_handler = files
改为session.save_habdler = redis
找到;session.save_path = “/tmp”
改为session.save_path = “tcp://192.168.7.2:1122”

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
负载均衡 监控 算法
实现负载均衡策略:优化系统性能与可用性
实现负载均衡策略:优化系统性能与可用性
|
10月前
|
负载均衡 网络协议 算法
Docker容器环境中服务发现与负载均衡的技术与方法,涵盖环境变量、DNS、集中式服务发现系统等方式
本文探讨了Docker容器环境中服务发现与负载均衡的技术与方法,涵盖环境变量、DNS、集中式服务发现系统等方式,以及软件负载均衡器、云服务负载均衡、容器编排工具等实现手段,强调两者结合的重要性及面临挑战的应对措施。
319 3
|
11月前
|
负载均衡 监控 算法
论负载均衡技术在Web系统中的应用
【11月更文挑战第4天】在当今高并发的互联网环境中,负载均衡技术已经成为提升Web系统性能不可或缺的一环。通过有效地将请求分发到多个服务器上,负载均衡不仅能够提高系统的响应速度和处理能力,还能增强系统的可扩展性和稳定性。本文将结合我参与的一个实际软件项目,从项目概述、负载均衡算法原理以及实际应用三个方面,深入探讨负载均衡技术在Web系统中的应用。
340 2
|
运维 负载均衡 监控
提升系统性能:高效运维的秘密武器——负载均衡技术
在当今数字化时代,系统的高可用性和高性能成为各类企业和组织追求的目标。本文旨在探讨负载均衡技术在运维工作中的关键作用,通过深入分析其原理、类型及实际应用案例,揭示如何利用这项技术优化资源分配,提高系统的响应速度和可靠性,确保用户体验的稳定与流畅。无论是面对突如其来的高流量冲击,还是日常的运维管理,负载均衡都展现出了不可或缺的重要性,成为现代IT架构中的基石之一。
613 4
|
负载均衡 监控 算法
云计算 - 负载均衡SLB方案全解与实战
云计算 - 负载均衡SLB方案全解与实战
643 0
|
分布式计算 监控 测试技术
建设云上稳定性问题之通过SLB转发和健康检查策略后,系统发布过程中的可用性有何改善
建设云上稳定性问题之通过SLB转发和健康检查策略后,系统发布过程中的可用性有何改善
121 0
|
负载均衡 算法 Java
实现高可用和可扩展的负载均衡系统的Java方法
实现高可用和可扩展的负载均衡系统的Java方法
|
负载均衡 应用服务中间件 nginx
Nginx四层负载均衡在秒杀系统中的应用
Nginx四层负载均衡在秒杀系统中的应用
113 0
|
负载均衡 应用服务中间件 nginx
Nginx负载均衡选择在秒杀系统中的应用
Nginx负载均衡选择在秒杀系统中的应用
153 0

相关实验场景

更多