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

Feature Request : To have the Solid Notifications with Websockets work with multiple CSS workers. #1809

Open
argahsuknesib opened this issue Dec 8, 2023 · 5 comments
Labels
🐜 worker threads Making the server multithreaded ➕ feature

Comments

@argahsuknesib
Copy link

Environment

  • Server version: 6.0.1
  • Node.js version: v16.20.2
  • npm version: 8.19.4

Description

Currently, the solid notifications with websockets do not work with multiple worker threads. Multiple worker threads are important to scale the CSS to be able to handle more than 50 GET requests/second especially in case with multiple solid pods per server.

@RubenVerborgh
Copy link
Member

RubenVerborgh commented Dec 11, 2023

@argahsuknesib Can we generalize this to "notifications need to work with multiple threads", such that the existing multi-threaded Webhooks are valid solution? (WebSockets are not a well-scalable technique in general, hence Solid moving away from it.)

@elf-pavlik
Copy link
Contributor

elf-pavlik commented Dec 11, 2023

Would Streaming HTTP help in any way?

Or is the issue common for any channel type, where the client keeps an open connection to the server?

There is also

@joachimvh
Copy link
Member

Or is the issue common for any channel type, where the client keeps an open connection to the server?

That is probably going to be the case indeed. The problem is if the thread that generates the change is different from the one having the open websocket/connection, that information would be lost as this is currently not communicated between threads. Webhooks doesn't have this problem though.

@elf-pavlik
Copy link
Contributor

I don't see how Webhook, LDN or any channel type using sendTo could be used by a browser application. They all rely on the sender to establish a connection with the receiver, for both Webhook and LDN it is an HTTP request.

I think in the browser or more generally any notification receiver running on the user's device will use channel type based on reciveFrom.

@elf-pavlik
Copy link
Contributor

Actually the Web Push channel type could be a solution here. The current spec is outdated but we can prioritize drafting an updated version. Especially if there is an interest in implementing it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🐜 worker threads Making the server multithreaded ➕ feature
Projects
None yet
Development

No branches or pull requests

4 participants