Skip to content

Improve scalability (M:N:K) - M apprtc edges, N signaling nodes, K sfu workers  #8

Description

@rainliu

Current setup (1:1:K) - 1 apprtc + 1 signaling deployed at the same host (appr.tc pointing to 1 IP host), 2 sfu workers deployed at two different hosts

Ideal setup (M:N:K) - M apprtc edges sit at appr.tc (DNS load balanced to M IP hosts), N signaling nodes sit at xxx.xx (DNS load balanced to N IP hosts), K sfu workers sit at sfu.rs (DNS load balanced to K IP hosts)

Problem:

  • how to make sure that different clients with the same room id accessing via https://appr.tc/v2/r/{room_id} reach the same signaling host? different clients, even with the same room id, may reach different apprtc hosts due to appr.tc DNS load balance.
  • The issue only exists between AppRTC edges and Signaling nodes (m vs n mapping), not between SFU workers and Signaling nodes since each signaling node has in-memory room to sfu worker mapping list.
  • can this issue be solved without external services?

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions