Hi, I will add my little opinion here. I generally agree with Alex`s idea. So the really quick description of multimangos architecture:
1) realmd remains unchanged
2) all clients connects to the supervisior server (which would be the hardest part), announced as realm in realmlist
3) "behind" the supervisior there are several game(or map) servers (simillar to curent worldd)
4) supervisior handles the easy and fast packets (like chat)
5) more complicated opcodes are routed to game servers, where they are executed
6) the game server manages most of the game logic (ie AIs, spells, colision calculations)
7) 1 game server can run more maps (ie all instances, battleground server,...) 1 map = 1 thread
8) access to the world database perform all game server on their own
9) access to the character database is made via the supervisior, which solves the race conditions in creating new items (mails, characters...)
10) communication between supervisior and the map servers is made by TCP/IP sockets, probably 1 connection per map.
I hope this will help you deciding how to write it
Cheers Tabak