mediasoup 源码分析(八) 服务器级联 PipeTransport 分析

一、级联概念

        服务器级联通常指两个服务或者多个服务之间互相通信。比如视频会议或者在线教育中的小班课, 由于参会人员或者上课的学生分布在全国各地,如果是外教英语课还要跨国。这两种情况下用户会连接到不同的媒体服务,比如学生A连接华南节点、学生B连接华东节点、老师连北京某个节点。他们会进入同一个房间进行上课,此时就需要媒体服务之间进行夸地区、跨服通信。

而级联就是用来解决这个问题的。

二、mediasoup的级联方案PipeTransport

    mediasoup通过PipeTransport实现两台worker之间的级联通信。

       注意:虽然mediasoup提供了PipeTransport这种级联方案。但是,实现方式偏简单。比如。没有考虑节点负载、两个节点之间网络状态、路由线路的选择问题。所以,实际线上应用时,如果并发量较高需要做定制化修改。

 PipeTransport的创建过程

node.js层和前面介绍的PlainTraport创建类似,不再单独介绍。下面只讲c++层。

代码见:PipeTransport.cpp

PipeTransport::PipeTransport(const std::string& id, RTC::Transport::Listener* listener, json& data)
	  : RTC::Transport::Transport(id, listener, data)
{
  //构造函数主要获得监听的IP,然后绑定一个udp服务监听
   	try
	{
       //实际应用时要注意内网IP和外网IP问题
       auto jsonIpIt = jsonListenIpIt->find("ip");
		// This may throw.
		thi
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

致一

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值