The question is why Playframework team decided to migrate from Netty to Akka? Is it more efficient in performance meaning?
Instead, Akka HTTP makes it easier to build integration layers based on HTTP, and therefore stays on the sidelines. This allows you to base your app on what makes sense and use Akka HTTP for HTTP integration. Akka HTTP is not a framework–not because we don't like frameworks–but to provide maximum flexibility.
Akka HTTP implements a full server stack for HTTP, including full HTTPS support, and has support for HTTP/2. The Akka HTTP server backend is the default in Play. You can also use the Netty backend if you choose.
Akka Streams is a module built on top of Akka Actors to make the ingestion and processing of streams easy. It provides easy-to-use APIs to create streams that leverage the power of the Akka toolkit without explicitly defining actor behaviors and messages.
Play switched to using Akka by default because:
The Play team believe that performance on Akka is at least as good as it is on Netty. Anyone who find this not to be true is encouraged to raise an issue with them.
All the above taken from an email thread on the Play dev list.
Note: Play continues to support Netty so if you'd rather use Netty then you can manually select it:
If for some reason you have both the Akka HTTP server and the Netty HTTP server on your classpath, you’ll need to manually select it. This can be done using the play.server.provider system property, for example, in dev mode:
run -Dplay.server.provider=play.core.server.NettyServerProvider
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With