You can do all those things but you have to work out how to hook them all up to your app and manage state (db connection pool, api clients, etc). All the while using futures 0.1 in an ecosystem that it moving to futures 0.3 and then async/await.
My existing Rust implementation is using actix but I was spending too much time on things that framework should handle for me.