I am trying to implement mediasoup clusters behide NLB servers. There are three topologies I can think of:
NLB server distribute rooms to different mediasoup nodes, users in the same room are connected to the same mediasoup server
NLB server evenly distribute users across mediasoup nodes, so a room contains multiple servers. Say UserA connecting to ServerA, UserB connecting to ServerB, and so on. So UserA will create a sendtraport to ServerA to produce media, and it will create multiple receivetransports to ServerB … ServerN to receive media
NLB server evenly distribute users across mediasoup nodes, a user is still creating sendtransport and receivetransport with the same mediasoup server, and each mediasoup nodes use pipeToRouter to pipe media between servers.
My thought is that option1 is most easy to implement, but it does not really scale geographically by like CDN. Option2 is not good in terms of scaling geographically, and its difficult to implement. Options3 seems the most promising one, but I am not sure if it is the good scenario to use pipeToRouter, and will it create mass network traffic within mediasoup servers?
What is the recommended option?
Thanks in advance