Tuesday 31 January 2017

Node as WebRTC proxy/edge server: How should I distribute peers between processes?

I'm in the process of writing a browser/javascript client MMO. To improve performance on bad networks, I'd like to use WebRTC datachannel. Specifically, I'm working on running a series of "edge server" processes which will act as UDP/WebRTC proxies. The purpose of an edge server is to insulate the user-base from widespread failure, so if a user decides to do a denial of service attack to his own connection, the entire user-base isn't affected. Due to consistency/security concerns, the architecture is not peer to peer, but only client-server/server-wins. (Please don't ask me why I'm not using peer to peer -- because WebRTC.) How should I apportion the server-side WebRTC peers to Node processes? Do I want to have a whole lot of connections/peers per Node process, or just a few? What is the memory overhead of a Node process running an Express web app server with a small REST API?My current server is configured to handle around 560 simultaneous clients.

Submitted February 01, 2017 at 03:19AM by stcredzero

No comments:

Post a Comment