1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-02-12 19:31:53 +00:00
srs/trunk/conf
Winlin 2e4014ae1c
Proxy: Support proxy server for SRS. v7.0.16 (#4158)
Please note that the proxy server is a new architecture or the next
version of the Origin Cluster, which allows the publication of multiple
streams. The SRS origin cluster consists of a group of origin servers
designed to handle a large number of streams.

```text
                         +-----------------------+
                     +---+ SRS Proxy(Deployment) +------+---------------------+
+-----------------+  |   +-----------+-----------+      +                     +
| LB(K8s Service) +--+               +(Redis/MESH)      + SRS Origin Servers  +
+-----------------+  |   +-----------+-----------+      +    (Deployment)     +
                     +---+ SRS Proxy(Deployment) +------+---------------------+
                         +-----------------------+
```

The new origin cluster is designed as a collection of proxy servers. For
more information, see [Discussion
#3634](https://github.com/ossrs/srs/discussions/3634). If you prefer to
use the old origin cluster, please switch to a version before SRS 6.0.

A proxy server can be used for a set of origin servers, which are
isolated and dedicated origin servers. The main improvement in the new
architecture is to store the state for origin servers in the proxy
server, rather than using MESH to communicate between origin servers.
With a proxy server, you can deploy origin servers as stateless servers,
such as in a Kubernetes (K8s) deployment.

Now that the proxy server is a stateful server, it uses Redis to store
the states. For faster development, we use Go to develop the proxy
server, instead of C/C++. Therefore, the proxy server itself is also
stateless, with all states stored in the Redis server or cluster. This
makes the new origin cluster architecture very powerful and robust.

The proxy server is also an architecture designed to solve multiple
process bottlenecks. You can run hundreds of SRS origin servers with one
proxy server on the same machine. This solution can utilize multi-core
machines, such as servers with 128 CPUs. Thus, we can keep SRS
single-threaded and very simple. See
https://github.com/ossrs/srs/discussions/3665#discussioncomment-6474441
for details.

```text
                                       +--------------------+
                               +-------+ SRS Origin Server  +
                               +       +--------------------+
                               +
+-----------------------+      +       +--------------------+
+ SRS Proxy(Deployment) +------+-------+ SRS Origin Server  +
+-----------------------+      +       +--------------------+
                               +
                               +       +--------------------+
                               +-------+ SRS Origin Server  +
                                       +--------------------+
```

Keep in mind that the proxy server for the Origin Cluster is designed to
handle many streams. To address the issue of many viewers, we will
enhance the Edge Cluster to support more protocols.

```text
+------------------+                                               +--------------------+
+ SRS Edge Server  +--+                                    +-------+ SRS Origin Server  +
+------------------+  +                                    +       +--------------------+
                      +                                    +
+------------------+  +     +-----------------------+      +       +--------------------+
+ SRS Edge Server  +--+-----+ SRS Proxy(Deployment) +------+-------+ SRS Origin Server  +
+------------------+  +     +-----------------------+      +       +--------------------+
                      +                                    +
+------------------+  +                                    +       +--------------------+
+ SRS Edge Server  +--+                                    +-------+ SRS Origin Server  +
+------------------+                                               +--------------------+
```

With the new Origin Cluster and Edge Cluster, you have a media system
capable of supporting a large number of streams and viewers. For
example, you can publish 10,000 streams, each with 100,000 viewers.

---------

Co-authored-by: Jacob Su <suzp1984@gmail.com>
2024-09-09 12:06:02 +08:00
..
clion-ingest.conf STAT: Refine tcUrl for SRT/RTC. v5.0.54 2022-08-30 21:28:06 +08:00
clion-srt.conf STAT: Refine tcUrl for SRT/RTC. v5.0.54 2022-08-30 21:28:06 +08:00
clion.conf STAT: Refine tcUrl for SRT/RTC. v5.0.54 2022-08-30 21:28:06 +08:00
compatible.conf for #319, support raw update global.listen 2015-08-30 23:18:14 +08:00
console.conf API: Refine stat and config for prometheus exporter. 2022-09-28 16:07:26 +08:00
console.ipv46.conf RTMP: Add conf for listen at IPv6. 2022-05-17 21:37:59 +08:00
dash.conf DASH: Fix number mode bug to make it run. v5.0.96 (#3240) 2022-11-24 18:13:49 +08:00
demo.19350.conf Docs: Migrate to ossrs.net and ossrs.io 2022-07-31 16:26:35 +08:00
demo.conf Ingest: Still use -re for stream to ingest HLS better. 2022-08-31 13:30:13 +08:00
docker.conf Docs: Migrate to ossrs.net and ossrs.io 2022-07-31 16:26:35 +08:00
dvr.mp4.conf Docs: Migrate to ossrs.net and ossrs.io 2022-07-31 16:26:35 +08:00
dvr.path.conf Docs: Migrate to ossrs.net and ossrs.io 2022-07-31 16:26:35 +08:00
dvr.segment.conf Docs: Migrate to ossrs.net and ossrs.io 2022-07-31 16:26:35 +08:00
dvr.session.conf Docs: Migrate to ossrs.net and ossrs.io 2022-07-31 16:26:35 +08:00
edge.conf Merge 4.0release, migrate to new website. 2022-07-31 18:34:18 +08:00
edge.token.traverse.conf Refine config directive token parsing. v6.0.135 (#4042) 2024-07-08 18:19:25 +08:00
edge2.conf Docs: Migrate to ossrs.net and ossrs.io 2022-07-31 16:26:35 +08:00
exec.conf Docs: Migrate to ossrs.net and ossrs.io 2022-07-31 16:26:35 +08:00
ffmpeg.transcode.conf Ingest: Still use -re for stream to ingest HLS better. 2022-08-31 13:30:13 +08:00
force.daemon.conf For #3216: Support force daemon for sanitizer. 2022-10-23 08:06:44 +08:00
forward.backend.conf Merge 4.0release, migrate to new website. 2022-07-31 18:34:18 +08:00
forward.master.conf Docs: Migrate to ossrs.net and ossrs.io 2022-07-31 16:26:35 +08:00
forward.slave.conf Docs: Migrate to ossrs.net and ossrs.io 2022-07-31 16:26:35 +08:00
full.conf Heartbeat: Report ports for proxy server. v5.0.215 v6.0.156 v7.0.15 (#4171) 2024-09-09 10:37:41 +08:00
gb28181-without-sip.conf GB28181: Support external SIP server. v6.0.144 (#4101) 2024-07-27 09:06:12 +08:00
gb28181.conf GB28181: Fix bug for parsing GB to RTC. 2022-10-07 19:47:34 +08:00
go-oryx-edge.conf Docs: Migrate to ossrs.net and ossrs.io 2022-07-31 16:26:35 +08:00
go-oryx-edge2.conf Docs: Migrate to ossrs.net and ossrs.io 2022-07-31 16:26:35 +08:00
hds.conf Docs: Migrate to ossrs.net and ossrs.io 2022-07-31 16:26:35 +08:00
hevc.flv.conf WebRTC: Support configure CANDIDATE by env (#3470) 2023-03-27 19:24:08 +08:00
hevc.ts.conf WebRTC: Support configure CANDIDATE by env (#3470) 2023-03-27 19:24:08 +08:00
hls.conf Docs: Migrate to ossrs.net and ossrs.io 2022-07-31 16:26:35 +08:00
hls.edge.conf Conf: Refine comments. 2022-05-10 22:17:55 +08:00
hls.origin.conf Solve the problem of inaccurate HLS TS duration. v5.0.187 v6.0.87 (#3824) 2023-10-09 06:22:41 -05:00
hls.realtime.conf Solve the problem of inaccurate HLS TS duration. v5.0.187 v6.0.87 (#3824) 2023-10-09 06:22:41 -05:00
http.aac.live.conf Docs: Migrate to ossrs.net and ossrs.io 2022-07-31 16:26:35 +08:00
http.api.auth.conf Support composited bridges for 1:N protocols converting. v6.0.41 (#3392) 2023-04-01 21:34:59 +08:00
http.api.dedicated.conf Fix #2881: HTTP: Support merging api to server. v5.0.47 2022-08-28 13:11:31 +08:00
http.api.one.port.conf HTTP: Support API with body, for RTC. 2022-08-28 16:14:05 +08:00
http.api.one.port2.conf HTTP: Support API with body, for RTC. 2022-08-28 16:14:05 +08:00
http.api.raw.conf Squash: Merge SRS 4.0 2021-10-10 12:05:26 +08:00
http.flv.live.conf Docs: Migrate to ossrs.net and ossrs.io 2022-07-31 16:26:35 +08:00
http.flv.live.edge1.conf Docs: Migrate to ossrs.net and ossrs.io 2022-07-31 16:26:35 +08:00
http.flv.live.edge2.conf Docs: Migrate to ossrs.net and ossrs.io 2022-07-31 16:26:35 +08:00
http.heartbeat.conf Refine config directive token parsing. v6.0.135 (#4042) 2024-07-08 18:19:25 +08:00
http.hls.conf Docs: Migrate to ossrs.net and ossrs.io 2022-07-31 16:26:35 +08:00
http.hooks.callback.conf Hooks: Remove on_connect and on_close from doc. 2022-08-26 10:39:00 +08:00
http.mp3.live.conf Docs: Migrate to ossrs.net and ossrs.io 2022-07-31 16:26:35 +08:00
http.server.conf merge from srs2, fix #503 2017-02-09 14:33:56 +08:00
http.ts.live.conf Docs: Migrate to ossrs.net and ossrs.io 2022-07-31 16:26:35 +08:00
https.docker.conf Docs: Migrate to ossrs.net and ossrs.io 2022-07-31 16:26:35 +08:00
https.flv.live.conf For #1657, add https configs 2020-11-07 07:11:57 +08:00
https.hls.conf For #1657, add https configs 2020-11-07 07:11:57 +08:00
https.hooks.callback.conf Hooks: Remove on_connect and on_close from doc. 2022-08-26 10:39:00 +08:00
https.rtc.conf Docs: Migrate to ossrs.net and ossrs.io 2022-07-31 16:26:35 +08:00
https.rtmp2rtc.conf Docs: Migrate to ossrs.net and ossrs.io 2022-07-31 16:26:35 +08:00
https.srs.conf Docs: Migrate to ossrs.net and ossrs.io 2022-07-31 16:26:35 +08:00
include.conf Update the demo config file for include directive (#2927) 2022-03-05 17:43:20 +08:00
include.vhost.conf Update the demo config file for include directive (#2927) 2022-03-05 17:43:20 +08:00
ingest.conf Ingest: Still use -re for stream to ingest HLS better. 2022-08-31 13:30:13 +08:00
ingest.rtsp.conf Ingest: Still use -re for stream to ingest HLS better. 2022-08-31 13:30:13 +08:00
live.conf Squash: Merge SRS 4.0 2021-09-25 10:09:25 +08:00
log-file.conf Merge 4.0release, migrate to new website. 2022-07-31 18:34:18 +08:00
mp3.conf MP3: Add config examples for MP3. #296 2022-12-25 12:10:29 +08:00
mp3.http.conf MP3: Add config examples for MP3. #296 2022-12-25 12:10:29 +08:00
mp3.rtc.conf SRS5: MP3: Convert RTMP(MP3) to WebRTC(OPUS). v5.0.118 (#296) (#3340) 2022-12-26 18:06:38 +08:00
mp3.ts.conf MP3: Add config examples for MP3. #296 2022-12-25 12:10:29 +08:00
nginx.proxy.conf Conf: Refine comments. 2022-05-10 22:17:55 +08:00
openwrt.conf OpenWRT: Try to create dir for pidfile 2021-10-03 20:51:07 +08:00
origin.cluster.edge.conf Docs: Migrate to ossrs.net and ossrs.io 2022-07-31 16:26:35 +08:00
origin.cluster.serverA.conf Docs: Migrate to ossrs.net and ossrs.io 2022-07-31 16:26:35 +08:00
origin.cluster.serverB.conf Docs: Migrate to ossrs.net and ossrs.io 2022-07-31 16:26:35 +08:00
origin.cluster.serverC.conf Docs: Migrate to ossrs.net and ossrs.io 2022-07-31 16:26:35 +08:00
origin.conf Merge 4.0release, migrate to new website. 2022-07-31 18:34:18 +08:00
origin.hls.only1.conf Support crossbuild for hisiv500. v5.0.40 2022-08-12 17:41:15 +08:00
origin.hls.only2.conf Support crossbuild for hisiv500. v5.0.40 2022-08-12 17:41:15 +08:00
origin1-for-proxy.conf Proxy: Support proxy server for SRS. v7.0.16 (#4158) 2024-09-09 12:06:02 +08:00
origin2-for-proxy.conf Proxy: Support proxy server for SRS. v7.0.16 (#4158) 2024-09-09 12:06:02 +08:00
origin3-for-proxy.conf Proxy: Support proxy server for SRS. v7.0.16 (#4158) 2024-09-09 12:06:02 +08:00
prometheus.conf Exporter: Listen at port 9972 for Prometheus exporter. (#3195) 2022-10-01 07:35:54 +08:00
push.flv.conf GB28181: Fix bug for parsing GB to RTC. 2022-10-07 19:47:34 +08:00
push.gb28181.conf SRS5: GB: Compatible with deprecated config. 2023-01-08 13:22:39 +08:00
push.mpegts.over.udp.conf GB28181: Fix bug for parsing GB to RTC. 2022-10-07 19:47:34 +08:00
realtime.conf WebRTC: Support configure CANDIDATE by env (#3470) 2023-03-27 19:24:08 +08:00
realtime.flv.conf WebRTC: Support configure CANDIDATE by env (#3470) 2023-03-27 19:24:08 +08:00
regression-test-for-clion.conf GB28181: Enable regression test for gb28181. v5.0.122 2022-12-31 19:47:54 +08:00
regression-test.conf GB28181: Enable regression test for gb28181. v5.0.122 2022-12-31 19:47:54 +08:00
rtc.conf Docs: Migrate to ossrs.net and ossrs.io 2022-07-31 16:26:35 +08:00
rtc.tcp.only.conf RTC: Fix FFmpeg opus audio noisy issue. v5.0.195 v6.0.95 (#3845) 2023-10-25 11:55:32 +08:00
rtc.tcp.udp.conf RTC: Fix FFmpeg opus audio noisy issue. v5.0.195 v6.0.95 (#3845) 2023-10-25 11:55:32 +08:00
rtc2rtmp.conf Docs: Migrate to ossrs.net and ossrs.io 2022-07-31 16:26:35 +08:00
rtmp.conf Docs: Migrate to ossrs.net and ossrs.io 2022-07-31 16:26:35 +08:00
rtmp.kickoff.conf Kickoff publisher when stream is idle, which means no players. v6.0.31, v5.0.144 (#3105) 2023-03-06 09:09:27 +08:00
rtmp2rtc.conf Docs: Migrate to ossrs.net and ossrs.io 2022-07-31 16:26:35 +08:00
security.deny.publish.conf Fix RBSP issue, where 0x03 should be removed. v5.0.178 v6.0.75 (#3597) 2023-09-09 08:58:38 +08:00
server.crt For #1657, Support HTTPS API 2020-11-06 15:05:01 +08:00
server.key For #1657, Support HTTPS API 2020-11-06 15:05:01 +08:00
srs.conf For #3236: Live: Change gop cache limits to 2500. v5.0.94 (#3273) 2022-11-23 09:52:27 +08:00
srt.conf SRT: remove rtmp_to_srt 2022-06-14 20:02:25 +08:00
srt2rtc.conf SRT: Reduce latency to 200ms of srt2rtc.conf (#3409) 2023-02-12 16:22:47 +08:00
srt2ts.conf Improve README and documents with AI. v5.0.153. v6.0.43 (#3538) 2023-05-12 17:18:30 +08:00
transcode2hls.audio.only.conf Ingest: Still use -re for stream to ingest HLS better. 2022-08-31 13:30:13 +08:00
transform.edge.conf Ingest: Still use -re for stream to ingest HLS better. 2022-08-31 13:30:13 +08:00
vm.conf Docs: Migrate to ossrs.net and ossrs.io 2022-07-31 16:26:35 +08:00