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

Allocation re-architecture #7

Closed
dgkanatsios opened this issue Oct 6, 2021 · 1 comment · Fixed by #230
Closed

Allocation re-architecture #7

dgkanatsios opened this issue Oct 6, 2021 · 1 comment · Fixed by #230
Assignees
Labels
area/performance Anything related to thundernetes improvements for speed, or issues related to being slow. design enhancement New feature or request
Milestone

Comments

@dgkanatsios
Copy link
Collaborator

dgkanatsios commented Oct 6, 2021

Thundernetes allocation service currently works by finding a random StandingBy server and transitioning it to Active. We should consider the pros/cons of this approach and decide on alternative allocation methods, taking into account the environment that thundernetes is running (cloud provider/on-prem).

Moreover, the use of .Update to transition the game server to Active will return errors in case the GameServer has been deleted or crashed and the cache has not been updated. We should retry ourselves (at least once) in the allocation method.

@dgkanatsios dgkanatsios added enhancement New feature or request help wanted Extra attention is needed labels Oct 6, 2021
@dgkanatsios dgkanatsios changed the title Allocation architecture Allocation re-architecture Oct 6, 2021
@dgkanatsios
Copy link
Collaborator Author

dgkanatsios commented Apr 17, 2022

I’ve been thinking about this recently and my proposal is to try and allocate to the game servers that reside on the newest Nodes. In cloud environments, this would have the effect of making sure the oldest Nodes get as less active game servers as possible, so in the event of a cluster scale down, they would be the ones to be deleted first. Result of this is that on a scale up, fresh/updates Nodes will pop up and be added to the cluster.

This would require an extra field on the GameServer that would designate the Node’s age. During allocation, we should sort the standingBy game servers by Node’s age and allocate on the newest ones.

@dgkanatsios dgkanatsios added area/performance Anything related to thundernetes improvements for speed, or issues related to being slow. and removed help wanted Extra attention is needed labels Apr 17, 2022
@dgkanatsios dgkanatsios self-assigned this Apr 17, 2022
@dgkanatsios dgkanatsios added this to the 0.4.0 milestone Apr 17, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/performance Anything related to thundernetes improvements for speed, or issues related to being slow. design enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant