怎么搭建短视频系统?全套负载均衡方案 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zhibo2144899870
V2EX    2018

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

  •  
  •   zhibo2144899870 2018-09-12 11:35:24 +08:00 1725 次点击
    这是一个创建于 2585 天前的主题,其中的信息可能已经有所发展或是发生改变。

    短视频系统跟直播系统有一样的特点,面向的用户群体数量较大,聚集时间点集中。比如午饭时间,晚上休闲时间。所以做好系统的负载特别重要,既能提高系统的稳定性和可用性,从侧面来讲也能提高用户的体验和用户留存。 负载均衡的表述性解释咱不再说明,自行谷歌或百度即可。这里主要介绍两种负载均衡的方案。 方案一:使用运营商成熟的方案,比如阿里云的负载均衡 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 ”

    ywgx
        1
    ywgx  
       2018-09-12 13:08:47 +08:00
    哥们 Nginx 配置这段,给你缩短下

    # wget https://s.xabcloud.com/file/ctl.sh
    # chmod +x ctl.sh
    # ./ctl.sh OPENRESTY 安装
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2609 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 15:18 PVG 23:18 LAX 08:18 JFK 11:18
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86