Best way to do this?

I want to make a system like rise of kingdoms for my rts game. Where every 100 players or so a new region is opened for them and it is locked till most of the new players are strong enough or some time passes. And since there will be lots of troops and buildings. I thought I should make every player a server and just send data between servers and players render what is near them. What do you think is the best way? Should i store every building’s/unit data in a memory store or should I send it using messaging service?