I had tried to search about how to make a MMO and always find the same replies, it is impossible or need a lot of money, but never gives a guide on how to make one.
I want to build something very scalable, my current idea on how to build up the MMO is the following:
Components:
Actions:
and the questions I have:
And I don't think I am forgetting anything for the moment to ask about and sorry for this big post...
I don't think your solution would scale. The issue is your position DB that needs to be updated for every player action. You probably use this method to allow game servers to share data, which is a bad idea since databases are not meant to enable distribution of a system. Treat databases as real offline storage, only to load state when players or objects are activated.
You need to get rid of the position DB and store the players states distributed among the game servers.
Also consider having a front-end server that keeps one connection to the client at all time, relaying messages to the right game server etc. In this way you can avoid clients having to connect to the "right" game server and all the problems that comes with that level of trust.
Distributed programming is pretty hard, but the programming language Erlang makes it easier for you than Python/C++ etc.