{ auctia, mongodb, golang, python3 }

  • Golang is so fast it breaks MongoDB

    When I started developing Auctia I prototyped its main core in Python3. I wasn't really sure as to how much memory or CPU my project may require and in the beggining Python seemed to suffice. Auctia is separated into two main components that need to run for each World of Warcraft realm, “data grabber” and “data engine”. First one checks for and downloads latest auction house JSON dump from Blizzard's API, as well as as associated item data, the second one does all the calculations and communicates with metrics database. Only when I started to launch multiple intances of grabbers and engines it started to dawn on me how much hardware I would require in order to service all the WoW's realms. Funny enough, the problem is not in lack of storage (That's a story for another time). My first problem was RAM consumption.