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

About cluster/scalability #163

Open
rom1504 opened this issue Dec 13, 2015 · 6 comments
Open

About cluster/scalability #163

rom1504 opened this issue Dec 13, 2015 · 6 comments

Comments

@rom1504
Copy link
Member

rom1504 commented Dec 13, 2015

It could be interesting in the future to be able to scale flying-squid between several node instances (~ https://nodejs.org/api/cluster.html ) and several servers.
In order to do that we'd have to implement a good api to make the nodes have the same data.
One way would be putting all the data in prismarine-world and either:

  1. doing a thing to keep prismarine-world in memory and in sync in all instances : not great
  2. run prismarine-world in a single place and make some kind of network api to access it
  3. make a prismarine-world-<some database> that would just communicate with a database and not store data in memory

Option 2 and 3 are mostly the same, with a different kind of implementation.

(anyway, this is completely long term and should not really be in "priority" there https://github.com/mhsjlw/flying-squid/blob/master/TODO.md#priority )

@rom1504
Copy link
Member Author

rom1504 commented Dec 13, 2015

This issues is related with data saving/loading though.
When deciding on the saving/loading architecture/api, we might be able to make this easier too.

@109C
Copy link
Contributor

109C commented Dec 13, 2015

For number two, would the communication be world <--> worker <--> client, or worker <--> world <--> client?

@rom1504
Copy link
Member Author

rom1504 commented Dec 13, 2015

it would be worker <--> prismarine-world instance

@109C
Copy link
Contributor

109C commented Dec 13, 2015

So the world instance would communicate with the client?

@rom1504
Copy link
Member Author

rom1504 commented Dec 13, 2015

the world instance would communicate with a worker yes, that worker would communicate (and handle) with minecraft clients
when needed that worker would somehow (through a master or directly) communicate with other workers to communicate with other mc clients

something like that.

but the most difficult part is taking the data out of the worker imho ;) (and into the world instance)

@BasToTheMax
Copy link

How would things like redstone be handled?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants