Comments (5)
Hi @solirpa,
@hanspagel is still patiently waiting for my rewrite of y-redis. I'm aware that a ready-to-use solution for horizontal scaling is a highly requested feature. Another requested feature is the ability to sync all documents that a user has access to with a backend. I spent the last weeks finding a new scalable approach that allows syncing thousands of documents efficiently over a single connection for offline usage. I took some inspiration from the exchanges that I had with the author of Legendkeeper. The y-redis approach that I'm working on will be scalable and will enable syncing subdocuments. This significantly increases complexity, but I'd rather work on a complete solution than an incomplete solution that only works for some.
I updated the current y-redis implementation which should be usable and allow horizontal scaling. I will release some information about the rewrite of y-redis that allows syncing of subdocuments soon.
from hocuspocus.
Thanks for the report! I refactored the Redis extension. Unfortunately there’s still a major issue I can’t really grasp. Sometimes changes aren’t correctly sent to the server.
I’m still waiting for a rewrite of y-redis, not sure if it’s worth the time to look into issues related to Redis now - or if it’ll be better to wait for the rewrite.
from hocuspocus.
@hanspagel thanks for that refactor, will see if I can run into that issue you posted above. By not correctly sent to the server you mean @hocuspocus/server
receives the update and @hocuspocus/extension-redis
doesn't or @hocuspocus/server
doesn't receive it at all?
I saw that mentioned a couple of times that the redis adapter is due a rewrite, would be interested in reading what is due to be changed with it. I noticed it in another thread about horizontal scalability which is something we're super interested in too. But was also interested if there were plans to allow reduction of the data size in it by doing set of the whole document instead of append of individual updates (as appending updates for our data at least ends up growing a lot larger than encoding state at any given time as an update as we have a lot of garbage collected data from update to update).
from hocuspocus.
I has same bug. QAQ
Is there has a available server horizontal-scaling way now?
from hocuspocus.
Thanks for reporting! I don’t think this issue applies to the upcoming rewrite of the Redis extension #285.
from hocuspocus.
Related Issues (20)
- Hocuspocus >=2.7.0 does not work with React in strict mode / Lexical HOT 5
- Support logging request/socket information in custom Logger.log function HOT 1
- Unsure how to fallback gracefully from initial provider connection issues HOT 2
- Migrate from slate js to prosemirror HOT 1
- Unnecessary onStoreDocumentHooks call on last connection close (potential data loss) HOT 1
- Provider downloads document content twice when syncing initially HOT 1
- Hang caused by not cleaning up Awareness in provider HOT 1
- Do collaboration history and auto-versioning work? HOT 1
- Add custome field to the Webhook
- Provider.disconnect prevents subsequent provider.connect from working HOT 1
- 2.10.0 breaks provider in nodejs HOT 7
- The server document judgment is always empty, resulting in duplicate data. HOT 2
- backend onChange undefined HOT 2
- Server crashed when webhook receives 400 status code response HOT 3
- Inaccurate document type check in onLoadDocument
- use lexical TypeError: The encoded data was not valid for encoding utf-8 HOT 1
- Updates made using openDirectConnection are not synchronizing changes across different Redis instances. HOT 9
- provider.destroy will reopen connection HOT 2
- About the actual storage size of documents during collaborative editing HOT 8
- An authentication token is required, but you didn’t send one - but token was actually included HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hocuspocus.