this post was submitted on 22 Feb 2024
136 points (94.2% liked)
Games
16800 readers
673 users here now
Video game news oriented community. No NanoUFO is not a bot :)
Posts.
- News oriented content (general reviews, previews or retrospectives allowed).
- Broad discussion posts (preferably not only about a specific game).
- No humor/memes etc..
- No affiliate links
- No advertising.
- No clickbait, editorialized, sensational titles. State the game in question in the title. No all caps.
- No self promotion.
- No duplicate posts, newer post will be deleted unless there is more discussion in one of the posts.
- No politics.
Comments.
- No personal attacks.
- Obey instance rules.
- No low effort comments(one or two words, emoji etc..)
- Please use spoiler tags for spoilers.
My goal is just to have a community where people can go and see what new game news is out for the day and comment on it.
Other communities:
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I wonder what's the scalability issue. I've never seen a system that can't be fixed by throwing more horizontally scalable resources at it.
Given that when the servers are overloaded you don't get rewards: They probably have a centralized database or some other centralization issue.
You can add to a cluster all you want but if you're using a SQL monolith you'll get locks.
If you only have 100k concurrent users you can probably get away with it.
At 450k they're running into gridlock
Yeha, that's what I can't imagine. What part of their data architecture can't be sharded?
user accounts? sessions? cache keys? profiles? graphical assets?
This isn't a highly transactional bank with strong transactional guarantes.
Would be pretty cool if they explained the issue after fixing it.
I mean it's not a bank in that it doesn't have all the audit requirements etc but it's sorta a bank in that it's keeping track of transactions and state for every player every time a mission completes, which is a transaction that they really don't want to go wrong.
And at a guess that code is held together with spit and baling wire.
Napkin math: That centralized transactional account updates every time there's an end mission payout and with 400k concurrent players at 4 players per mission, say average 20 minute length (some missions 2 min some 40) that's thousands of transactions per minute.
Totally doable load for even a modest central server I'd think... Unless you've got optimization issues. Which I'd argue a central db that doesn't shard out at scale is an optimization issue.