写点什么

m7s Console 架构解析

作者:不卡科技
  • 2023-07-20
    广东
  • 本文字数:507 字

    阅读完需:约 2 分钟

m7s Console架构解析

整体架构

背景

Console 相对 m7s 独立运行,方便部署在公网或者内网中,也方便管理多个 m7s 实例。并且实现多租户机制,方便多个用户管理自己的 m7s。

最初以纯线上方式运行,随着功能逐步成熟,现已可以通过 docker 实现私有化部署,具体方式在文末。

架构图

图示



说明

  • 绿色虚线框代表 Console,可以部署在公网或者内网中。

  • 橘色虚线框代表多个 m7s 实例,可以部署在公网或者内网中。

  • 内网中的 m7s 可以访问公网的 Console,反之不行。

  • 每个 m7s 实例和 Console 之间通过一个 quic 协议连接在一起,用于信令的通讯,不会包含任何流媒体数据,因此对 Console 的带宽没有影响。

  • Console 包含一个数据库,用来记录用户登录信息和 m7s 实例信息。

  • Console 的 Web 端会向 Console 的 Server 端发起请求,Server 端会转发这些请求到 m7s 实例中,从而实现对实例的控制。

  • Console 的 Web 端发起的多种不同类型的请求都会通过 quic 的 Stream 进行模拟透传。

quic 透传原理

图示



说明

quic 协议本质上是个虚拟连接,当请求进入 Console 的时候,会创建一个 quic stream 连接,该连接是一个长连接,所以可以模拟 websocket 请求等。普通 http 请求在请求完成后,随机销毁这个 quic stream。由于是虚拟连接,所以开销很小。具体可以参考 quic 协议的介绍文章。

调用时序



前端架构



发布于: 刚刚阅读数: 3
用户头像

不卡科技

关注

令人惊叹的流媒体开源项目 2018-04-23 加入

为中小企业提供优质的流媒体开源框架

评论

发布
暂无评论
m7s Console架构解析_vite_不卡科技_InfoQ写作社区