gpt4 book ai didi

video-streaming - 当有数千个 SRS 实例时如何配置同事

转载 作者:行者123 更新时间:2023-12-05 04:39:41 30 4
gpt4 key购买 nike

来自wiki ,coworkers 表示“集群中其他源服务器的 HTTP API”。在我们的源集群中,我是这样配置的:

vhost __defaultVhost__ {
# The config for cluster.
cluster {
# The cluster mode, local or remote.
# local: It's an origin server, serve streams itself.
# remote: It's an edge server, fetch or push stream to origin server.
# default: local
mode local;

# For origin(mode local) cluster, turn on the cluster.
# @remark Origin cluster only supports RTMP, use Edge to transmux RTMP to FLV.
# default: off
# TODO: FIXME: Support reload.
origin_cluster on;

# For origin (mode local) cluster, the co-worker's HTTP APIs.
# This origin will connect to co-workers and communicate with them.
# please read: https://github.com/ossrs/srs/wiki/v3_EN_OriginCluster
# TODO: FIXME: Support reload.
coworkers 192.168.1.101:1985 192.168.1.102:1985 192.168.1.103:1985 192.168.1.XXX:1985;
}
}

如果集群中有数千台SRS服务器,每台SRS服务器都应该配置很多其他源SRS服务器,对吗?

这是否会影响通过查询 http api 在哪个 SRS 服务器中找到正确流的性能?如果流是同事中的最后一个,我认为它会有明显的延迟。

所以我想知道,是否有其他最佳工程实践来优化这个问题?

最佳答案

对于OriginCluster,一组origin作为一个集群为Edge server提供服务,像这样:

OriginA+OriginB+OriginN ----RTMP(302)---> Edge server ---RTMP/FLV--> Client

那么这是如何工作的:

  1. Edge 将通过配置访问部分源站服务器。
  2. 如果流不在连接的源服务器上,它会向 Edge 响应 RTMP 302 以重定向到 RIGHT 源服务器。
  3. Edge 连接到RIGHT 源服务器以拉/推流。

源服务器在配置中使用coworkers 来找出具有RTMP 流的RIGHT 服务器。 coworkers实际上是一个服务发现,是一个HTTP服务器地址。

coworkers 是一个 HTTP 服务器端点(ip+端口),它可以是 SRS,或任何提供相同 HTTP API 的 HTTP 服务器:

/api/v1/clusters

Response:
{
code: 0
data: {
origin: {
ip: 'xxx.xxx.xxx.xxx',
port: xxx
}
}
}

Please search /api/v1/clusters about the latest cluster protocol, it might be different.

如果你有很多流和源服务器,你不应该使用 SRS 服务器作为 coworkers,而是应该通过 Go 或 Nodejs 创建一个 API 服务器,只需要实现这个 API 和配置每个具有此 API 的源服务器:

vhost __defaultVhost__ {
cluster {
mode local;
origin_cluster on;

# Config for your API server.
coworkers 192.168.1.101:80;
}
}

Maybe your API server got one or two address for fault-tolerance.

您的 API 服务器如何知道流?请使用HTTP回调,也很简单。

关于video-streaming - 当有数千个 SRS 实例时如何配置同事,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70403981/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com