Replies: 2 comments
-
Hi @dodoflix! Thanks a lot for your question. A really important one I must add. Stateless workload is really easy to work with, if anything goes wrong, you can just trash everything and restart from scratch. And it's really easy to scale your workload because it depends on nothing so if you want 1000 servers you just have to start 1000 servers. It's the easiest usecase to support, and it's what Agones and Shulker is good for: because there is no effort to support stateless workload. And as you said, for minigames, lobbies, limbos, it's really meant for. However, when you want to add some persistence, you are limiting a lot your scaling capabilities. But there are solutions! Some are meant to be provided by the cluster operator (like the ability of mounting one volume multiple times, each actor being capable of writing), others can be made available from an infrastructure tool (Shulker could allow you to mount a volume, but it's up to you to handle scalability), and finally by creating plugins directly on the server you can probably manage maps differently. So, what can Shulker do? Shulker was created primilarly to handle stateless workloads. It's easy to support, and it covers a lot of usecases. Currently, handling persistence is up to you (you can mount volumes on the servers, soon on the proxies). Depending on your cloud provider, you'll maybe not be able to mount the same volume multiple times, but if you only want to run 1 server per map, you can totally do it with Shulker. But this solution is really "infrastructure-focused", meaning that the safety of your maps depends on the safety of your volumes. I was thinking some time ago of a "database-focused" solution to store your maps. It's only an idea for now, but it's really something I want to do so in the future I will invest a little bit of time implementing that. I really want to help people use Shulker. If you have a special usecase you are not sure Shulker is capable of handling, do not hesitate to ask or contact me in private :) Thanks! |
Beta Was this translation helpful? Give feedback.
-
FYI: Shulker now supports defining external servers, these servers are servers that exist but not managed by Shulker. This means you can run a standard stateful Creative or Survival server outside of Shulker and still have access to all your other Shulker servers (like minigames or lobbies). Also, these external servers don't have to be ran with Kubernetes. |
Beta Was this translation helpful? Give feedback.
-
Hi!
Me again, while i was surfing in documentation of Shulker i found this:
You can find this warning here: Documentation Link
So first of all i thought i can use Shulker as stateful server as well, i'm not currently working with minigames so ephemeral servers are only useful for me like lobby, limbo etc.. And then i dig more and i want to ask to my friend for this problem i have.
He said: "stateful apps and operators don't really mesh"
In the end i want to know use cases of Shulker and is Shulker gonna operate the stateful servers in the future?
Before everything i'm new to infrastructure development and i'm trying to understand every use cases of currently open sourced projects. I want to contribute them but first i need to learn what the project have to offer.
Thanks!
Beta Was this translation helpful? Give feedback.
All reactions