The problem with message based concurrency that relies on OS mechanisms (either network based or kernel based like pipes, MQs) is a system call. And a hidden cost of this (since meltdown and spectre) is a cache clear - which can hurt your app. It may be acceptable trade off, but you need to be conscious of that