Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reliable restart support for signaling server #1

Open
DhirajBhakta opened this issue Feb 20, 2022 · 0 comments
Open

Reliable restart support for signaling server #1

DhirajBhakta opened this issue Feb 20, 2022 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@DhirajBhakta
Copy link
Owner

Issue

As of this writing, signaling server is heavily stateful, maintaining registry of active connections. Any kind of restart on this server will imply total loss of information/connections. DB is not an option as the "information" here is a websocket connection. Since the main websocket does not yet have a handler for onclose event to take care of abrupt server restarts, we lose the central registry contents

Why do we need the signaling server?

  • Donee needs to get a listing of 'available servers' from a central place.
  • available donor servers need to send 'heartbeat' or metrics at regular intervals to a central place.
  • We need this central place to perform google Oauth login from the command line vt login

Proposed Solution

  • setup the onClose handler for main socket
  • continuously ping the signaling server for its "Health" API. ..do this until you get a "healthy" response.
  • upon receiving healthy, re-establish the main websocket connection.

Declarative Invariants

  • At all times, the central server maintains a registry of active connections to all donors/available donor servers.
  • As long as the donor server is active, it will keep sending metrics to the central server
@DhirajBhakta DhirajBhakta self-assigned this Feb 20, 2022
@DhirajBhakta DhirajBhakta added the enhancement New feature or request label Feb 20, 2022
@DhirajBhakta DhirajBhakta added this to the First Deployment milestone Feb 20, 2022
@DhirajBhakta DhirajBhakta changed the title Serverless support for signaling server Reliable restart support for signaling server Feb 20, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant