10 comments

[ 4.9 ms ] story [ 44.2 ms ] thread
Is it any good? Why pick this versus other options? I poked around the docs and didn’t find any ecosystem comparison discussion.
I can't speak to the "is it any good" part, but (after a bit of research) I can share what I've found. I'll try to represent things as best as I understand, but I may have some finer details mixed up.

ntex is written by the same person that started actix-web, Nikolay Kim (fafhrd91 on GitHub). There was a bunch of drama a while back due to actix-web using (what many reasoned to be) avoidable unsafe code, which was later found to be buggy. Nikolay was pilloried online, resulting in him transferring leadership of actix-web to someone else. ntex is, as I understand it, essentially Nikolay picking back up on his ideals for what could have been actix-web, if people hadn't pushed him out of his own project.

How ntex compares to the pre-/post-leadership change of actix-web, I don't know.

Here are some jumping points if you want more of the backstory.

https://www.theregister.com/2020/01/21/rust_actix_web_framew...

https://steveklabnik.com/writing/a-sad-day-for-rust

https://github.com/actix/actix-web/issues/1289

https://github.com/fafhrd91/actix-web-postmortem

Thanks, very helpful context
What are "composable networking services?"
Looks like some kind of http/tls server
> Starting ntex v0.5 async runtime must be selected as a feature. Available options are glommio, tokio or async-std.

Ooohhh it has Glommio support! Very cool! A very cool runtime that deserves more attention/package support.

What's very cool about it?
Thread-per-core style, with executors pinned to cores/core-regions. IO_URING and DirectIO support, and a bunch of nice utilities to make working with the thread-per-core style and sharding easy, including a neat utility to automatically mesh all your executors together with incoming outgoing channels.
Since when has the broad term "networking" started referring to just Web protocols? Can I use this to build any random server (like, say, an FTP server) that provides services over the network? Skimming the docs, it doesn't seem like it.