[Edit:] Not sure for the downvote, would be interested what's wrong in my comment.
[Edit:] Not sure for the downvote, would be interested what's wrong in my comment.
"one core will execute the part up until the call to the backend and then a different core may well pick up the continuation when the result comes back"
This surely helps for one request if your backend or all your microservices are all on one machine, and you have several cores. But if you have your microservices on different machines, multi core will not help you speed up one request if it does not break down rendering of a page in chunks and distribute them to cores (and e.g. combine them with something like Facebook BigPipe (2010 tech)).
And yes multiple cores help with SEDA architectures but request and url parsing (which might be a SEDA stage) is too fast to have any real impact.
[1] http://codemonkeyism.com/a-little-guide-on-using-futures-for...
(You can play a lot of games in how a lot of requests are handled, even going to the HTTP2 extreme of interleaving responses to different requests on the underlying network stream, but what I said will be true on a per-request basis.)
Though if CPU is the bottleneck in your networked application, you've probably already looked into that.