美文网首页工作生活
直播高可用架构

直播高可用架构

作者: taojian | 来源:发表于2019-07-03 19:30 被阅读0次

XX直播技术架构很骚,只能画个简单的.

架构概览

image.png

高可用、高并发与分布式

客户端负载 —— ACK切换

手机端和网页端做的客户端负载,原理如下:

  1. 手机端第一次登录的时候,拉取需要访问的域名表,两个表分主表和备表,表中各有10个域名,域名中各自指向南北3个机房;
  2. 域名表每10分钟就会刷新一次;
  3. 当域名无法访问,就会利用ping的方式遍历主备表,选取最优的节点访问;
  4. 同时也能做到北方用户访问北方机房,南方用户访问南方机房。

服务端负载 —— upstream+backup

很简单利用nginx的负载均衡,负载的同时考虑核心节点挂了就启动backup节点,如下配置:

upstream netitcast.com {
        server  127.0.0.1:6666 weight=1;
        server  127.0.0.1:8080 weight=1;
        server  127.0.0.1:8081 backup;
    }

location / {
        proxy_pass   http://netitcast.com;
        proxy_redirect  default;
        proxy_connect_timeout 1;
        proxy_read_timeout 1;
        proxy_send_timeout 1;
   }

thrift-rpc + springcloud-rpc

  1. 微服务提供thrift接口和http接口;
  2. 事业部内微服务之间使用thrift接口互相调用,但是对外提供http接口,是给其他事业部使用的,比如音乐事业部和硬件事业部。

相关文章

网友评论

    本文标题:直播高可用架构

    本文链接:https://www.haomeiwen.com/subject/upzchctx.html