question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Better scalability options (replace @colyseus/proxy?)

See original GitHub issue

Currently, we need the @colyseus/proxy in order to scale while keeping the matchmaker aware of all nodes in the “cluster”.

The problems the proxy has are:

  • Single point of failure (all connections go through the proxy)
  • If the proxy restarts, all connections are going to be lost and need to be re-established
  • It seems that "node-http-proxy" has a memory-leak (@colyseus/proxy depends on node-http-proxy)

Ideally, Colyseus should allow better scalability options rather than heavily relying on @colyseus/proxy.

Previous discussion: https://github.com/colyseus/colyseus/issues/179

Issue Analytics

  • State:open
  • Created 3 years ago
  • Reactions:19
  • Comments:6 (1 by maintainers)

github_iconTop GitHub Comments

1reaction
vitalyrotaricommented, Dec 11, 2020

@endel I found interesting project based on C++, is a proxy server, you can take a look https://pushpin.org/. Maybe it can be integrated with Colyseus

0reactions
smokeythebanditcommented, Aug 9, 2022

Hey Guys,

I’m currently deploying Colyseus in a Kubernetes cluster, and am running into issues with the proxy while stress testing.

I’d be able to implement the proxy in C++. To replicate the current functionality I think I can manage, but with regards to handeling reconnect in case a proxy crashes/connection drops I’m not sure how to deal with it.

Is this something you guys would be interested in?

Read more comments on GitHub >

github_iconTop Results From Across the Web

Scalability - Colyseus & Arena Cloud Documentation
This document is a work-in-progress. To scale Colyseus into multiple processes or servers, you'll need to have Redis, MongoDB, and a dynamic proxy....
Read more >
Seat reservation expired when many servers using the same ...
Hello, I'm using Colyseus for managing multiplayer logic in my ... Colyseus needs a better option for scalability besides using this proxy.
Read more >
0.11 - Colyseus & Arena Cloud Documentation
The version 0.11 improves match-making and scalability, and introduces ... Replace your onAuth(options) method in your room with onAuth(client, options) .
Read more >
Deployment - Colyseus & Arena Cloud Documentation
Here's how to use Apache as a proxy to your Node.js Colyseus app. ... so there's no need to change the colyseus library...
Read more >
Scaling Node.js Socket Server with Nginx and Redis
We can run multiple instances of a Node application and use an Nginx server to proxy all requests/connections to a Node server. By...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found