Comments (2)
Fault-tolerant backup actually consists of two strategies: one is a hot backup, and the other is a cold backup.
Hot Backup
Hot backup involves forwarding traffic to two different Real SRS Servers behind a single VIP (Virtual IP).
In fact, within Kubernetes (K8s), a VIP is equivalent to a Service, and the two SRS Servers correspond to two Pods.
Regarding stream pushing, for instance, when a client pushes a stream to the Service's VIP, the Service randomly selects one Pod to handle it, and this process should work without issues.
When an issue arises with an SRS, the Service will remove the problematic Pod. Consequently, when a client pushes a stream to this VIP, it will automatically be routed to the next available Pod, and this should also function well.
However, there can be issues when playing SRT streams. For instance, if a client pushes a stream to PodA, and when attempting to play this SRT stream, it might be routed to PodB instead, resulting in the player being unable to retrieve the stream and causing a black screen.
Cold Standby
Cold standby refers to a scenario where the VIP (Virtual IP) always forwards to a primary SRS Real Server initially, and then, in the event of an issue, it redirects to a backup SRS Server.
Under this approach, the current SRS is operational. However, the issue lies with the VIP (Virtual IP) or the Kubernetes Service, which needs to have the capability to support this functionality.
My impression is that load balancers like HAP can support this method, but I'm not sure, you need to do some test and verification.
TRANS_BY_GPT4
from srs.
I would like to propose a more suitable solution, which is the SRT Proxy. In fact, it integrates the above-mentioned cold standby and hot standby solutions.
Alternatively, to put it simply, the SRT Proxy can be regarded as a VIP or LB that supports hot standby. We have previously discussed the Proxy solution in detail, please refer to #3634.
We have also implemented a validation demo for SRT Proxy, confirming that SRT can be proxied. For reference, see #3869.
This year, we should be able to implement this Proxy, but currently, there is no specific timeline established.
TRANS_BY_GPT4
from srs.
Related Issues (20)
- Bug: Config http_api and rtc_server.tcp listen on same port. HOT 2
- RTSP: FFmpeg convert to RTMP, the HLS TS file size is too short. HOT 6
- How to set authentication for rtmp HOT 2
- Rtmp authentication HOT 1
- WebRTC WHEP URL playback is stuttering in Google Chrome browser. HOT 1
- HTTPS: SSL errors in safari and chrome. HOT 1
- RTMP: Response accurate error when rejecting OBS.
- Standalone binary HOT 1
- Version 6.0/5.0 configuration parsing options: Configuration file not found at conf/docker.conf. HOT 1
- API: The VmSize of SRS is huge and incorrect, if enabled asan. HOT 2
- WebRTC WHEP URL playback is stuttering in Google Chrome browser.
- C++ HOT 1
- When the DVR generates a segment, it sends a request to /ws/v1/update. HOT 1
- http_hooks always connect to localhost on Docker compose HOT 4
- RTMP to WebRTC fps drop by DJI mini 3. HOT 5
- Console: The HTTPS API and the HTTPS server share the same port. HOT 1
- RTMP2WebRTC: Stuttering when using flutter WebRTC HOT 5
- IO: network i/o and block i/o is shooting high HOT 1
- FFmepg: Transcode will result in endless ffmpeg process HOT 1
- High latency on raspberry pi 5 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from srs.