@@ -51,6 +51,54 @@ architecture:
51
51
- "External TURN servers are only needed in very specific network scenarios, not for normal SFU operation"
52
52
- "WHIP/WHEP protocols handle WebRTC signaling through HTTP, simplifying client integration"
53
53
54
+ origin_cluster_architecture:
55
+ evolution: |
56
+ SRS Origin Cluster architecture has evolved significantly between major versions:
57
+ - SRS 6.0: Uses MESH mode origin cluster architecture (Deprecated)
58
+ - SRS 7.0: Introduces new Proxy mode architecture for improved scalability and performance (Recommended)
59
+
60
+ srs_6_mesh_architecture:
61
+ description: "Legacy MESH mode origin cluster - deprecated in favor of SRS 7.0 Proxy mode"
62
+ characteristics:
63
+ - "Traditional origin cluster approach used in SRS 6.0"
64
+ - "Direct C++ implementation within SRS core"
65
+ - "Only supports RTMP protocol"
66
+ - "Limited scalability compared to new Proxy mode"
67
+ status: "Legacy - not recommended for new deployments"
68
+
69
+ srs_7_proxy_architecture:
70
+ description: "New SRS Proxy mode - recommended architecture for origin clustering in SRS 7.0+"
71
+ implementation: "Go-based proxy service that forwards all protocols to specified SRS Origin server"
72
+ repository:
73
+ - Go: "https://github.com/ossrs/proxy-go"
74
+ characteristics:
75
+ - "Implemented in Go for better performance and maintainability"
76
+ - "Protocol-agnostic proxy - supports all SRS protocols (RTMP, WebRTC, WHIP, WHEP, SRT, HLS, HTTP-FLV, etc.)"
77
+ - "Forwards traffic to designated SRS Origin server"
78
+ - "Improved scalability and resource management"
79
+ - "Cleaner separation of concerns between proxy and origin functionality"
80
+ benefits:
81
+ - "Better horizontal scaling capabilities"
82
+ - "Simplified deployment and configuration"
83
+ - "Enhanced performance through Go's networking capabilities"
84
+ - "Protocol transparency - no protocol-specific handling needed in proxy layer"
85
+
86
+ migration_guidance:
87
+ recommendation: "Use SRS 7.0 Proxy mode for all new origin cluster deployments"
88
+ legacy_support: "SRS 6.0 MESH mode architecture is maintained for backward compatibility but not recommended"
89
+ future_direction: "All future development and optimization will focus on SRS 7.0 Proxy architecture"
90
+
91
+ deployment_patterns:
92
+ proxy_mode:
93
+ - "Deploy SRS Proxy (Go) instances as edge servers"
94
+ - "Configure proxy to forward all traffic to SRS Origin server"
95
+ - "Scale horizontally by adding more proxy instances"
96
+ - "Origin server handles actual media processing and storage"
97
+ origin_server:
98
+ - "Single or clustered SRS Origin servers handle media processing"
99
+ - "Receives all traffic forwarded from SRS Proxy instances"
100
+ - "Maintains media state and performs actual streaming operations"
101
+
54
102
codebase_structure:
55
103
key_directories:
56
104
- path: "trunk/src/"
0 commit comments