Persistence and microservices #276
Replies: 2 comments 16 replies
-
Hey, my initial plan was not to have any persistence. The whole thing was supposed to be something easy to setup, run and not require any backing up. Accounts are only really necessary in order to save stuff such as highscores. However, I think highscores are to a degree nonsensical, as each game has different words, people, roundcount, drawingtime and whatnot. So a score would not be representative for actual player performance. On top of that, the game was mostly intent for casual playing with friends. E.g. a social environment, instead of a competitive one. However, I assume for the purpose of research, this is fine. The only additional service that I planned making, was a wordlist server + frontend. Where people could add and edit word lists. For that, accounts might be useful in the future, but currently I have no real usecases for the main server. The only usecase that I could think of for the persistence layer would be server updates. This way I could update a running instance without worrying about having to ruin a running game. This would probs require some addiotional effort though, as reconnecting might get more complicated due to frontend changes introduced by the update. I am not sure whether that's worth tho. However, feel free to share your research progress here. If you need any help or have questions, I'll gladly help a bit. |
Beta Was this translation helpful? Give feedback.
-
Btw, a couple of events do not cause state changes. You might not want to save the state on each event. This also represents an abuse potential. Not sure whether that's relevant for you though. |
Beta Was this translation helpful? Give feedback.
-
Hello, first, great work ! I like a lot Scribble.rs, it's feature-rich, well-developed and with a very polished UI.
In my research team, we plan to use your project for our current public research on latency-sensitive distributed (edge/cloud) stateful microservices applications (in the experimentation part, to demonstrate our allocation methods work well on a representative application). Of course, we need a stateful microservices application for this, and your application being simple and good as it is, don't need a lot of work to be a good example to show. We have begun to enrich it first with persistence, and plan directly afterwards to add some relevant microservices.
For this, I have already added some basic Redis based persistence in my fork (https://github.com/guillaumerosinosky/scribble.rs): except a few bugs, it's possible to shutdown the server in-game, and reconnect to it (with a refresh of the browser). I also plan to add a few microservices (for now two: registered users/score history, and dictionnary).
Two questions/propositions:
Thank you :)
Beta Was this translation helpful? Give feedback.
All reactions