A distributed model will work but you'll hit limits pretty quickly and it'd be an absolute nightmare to debug/optimize. You might want to make a virtual network with artificial delays, either using VM software or by mechanism in your code, it'll be a bit of work to get it set up but well worth it if you plan on making something robust enough for real-world use. Would love to hear about progress so please keep us updated!