If you find info in this table inaccurate, please propose a PR with the fix.
The table below shows features of different high-level asynchronous frameworks. Note that the framework has to provide components well integrated into each other. For example, a framework with "Async PostgreSQL", "Dynamic Config" and "Metrics" has to have metrics for the PostgreSQL driver and dynamic configs to control the driver behavior at runtime. Such framework gets the ✔️ in the table below. If the components have weak integration with each other or require additional work for such integration (the usual case for third-party library), then the framework gets ± mark in the table below. For missing functionality or if we found no info on the functionality we use ❌ and ❓ respectively.
| Feature | 🐙 userver | go-micro 4.7.0 | dapr 1.5.3 | actix 0.13.0 + tokio 1.19.2 | drogon 1.7.5 | 
|---|---|---|---|---|---|
| Programming model for IO-bound apps | stackful coroutines | stackful coroutines | actors | stackless coroutines | callbacks / stackless coroutines | 
| Programming language to use | С++ | Go-lang | Python, JS, .Net, PHP, Java, Go | Rust | C++ | 
| Caching data from remote or DB | ✔️ [↗] | ❌ | ❌ | ❌ | ❌ | 
| Dynamic Config [1] | ✔️ [↗] | ✔️ [↗] | ❌ | ❌ | ❌ | 
| Unit testing | ✔️ C++ [↗] | ✔️ via Go-lang | ✔️ PHP [↗] | ✔️ | ✔️ [↗] | 
| Functional Testing [2] | ✔️ [↗] | ❌ | ❌ [↗] | ❌ [↗] | ❌ [↗] | 
| Async synchronization primitives | ✔️ [↗] | ✔️ via Go-lang | ❌ forces turn based access | ✔️ [↗] | ❌ | 
| Dist locks | ✔️ | ✔️ [↗] | ❌ [↗] | ± third-party libs | ❌ | 
| Async HTTP client | ✔️ [↗] | ✔️ | ✔️ | ✔️ | ✔️ [↗] | 
| Async HTTP server | ✔️ [↗] | ✔️ | ✔️ | ✔️ | ✔️ | 
| Async gRPC client | ✔️ [↗] | ✔️ | ✔️ | ± third-party libs | ❌ | 
| Async gRPC server | ✔️ [↗] | ✔️ | ✔️ | ± third-party libs | ❌ | 
| Async PostgreSQL | ✔️ [↗] | ± third-party driver | ✔️ [↗] | ❌ manual offloading | ✔️ [↗] | 
| PostgreSQL pipelining, binary protocol | ✔️ [↗] | ❌ | ❌ | ± third-party libs | ❌ | 
| Async Redis | ✔️ [↗] | ± third-party driver | ✔️ [↗] | ± third-party libs | ✔️ [↗] | 
| Async Mongo | ✔️ [↗] | ± third-party driver | ✔️ [↗] | ❌ manual offloading | ❌ [↗] | 
| Async ClickHouse | ✔️ [↗] | ± third-party driver | ❌ | ± third-party libs | ❌ [↗] | 
| Async MySQL | ✔️ MySQL Driver - EXPERIMENTAL | ± third-party driver | ✔️ [↗] | ❌ [↗] | ✔️ [↗] | 
| Metrics | ✔️ [↗] | ± third-party driver | ✔️ [↗] | ❌ | ❌ | 
| No args evaluation for disabled logs | ✔️ [↗] | ❌ | ❌ | ± third-party libs | ❌ | 
| Secrets Management | ± [↗] | ❓ | ✔️ | ❓ | ❓ | 
| Distributed Tracing | ✔️ [↗] | ❓ | ✔️ [↗] | ± third-party libs | ❌ | 
| JSON, BSON, YAML | ✔️ [↗] | ± third-party libs | ± third-party libs | ± third-party libs | ± only JSON | 
| Content compression/decompression | ✔️ | ✔️ | ❓ | ✔️ | ✔️ | 
| Service Discovery | ✔️ DNS, DB topology discovery | ✔️ [↗] | ❓ | ❓ | ❓ | 
| Async TCP/UDP | ✔️ [↗] | ✔️ | ❓ | ✔️ [↗] | ❌ | 
| Async TLS Socket | ✔️ [↗] | ✔️ | ❓ | ± third-party libs | ❌ | 
| Async HTTPS client | ✔️ [↗] | ✔️ | ❓ | ✔️ | ❓ | 
| Async HTTPS server | ✔️ [↗] | ❓ | ❓ | ✔️ | ❓ | 
| WebSockets Server | ✔️ [↗] | ± third-party libs | ❌ [↗] | ± third-party libs | ✔️ [↗] | 
| Deadlines and Cancellations | ✔️ | ❓ | ❓ | ❓ | ± [↗] | 
| Retries and Load Balancing | ✔️ | ✔️ [↗] | ✔️ | ❓ | ❓ | 
[1]: "Dynamic Configs" stands for any out-of-the-box functionality that allows to change behavior of the service without downtime and restart.
[2]: Functional Testing includes DB startup and initialization; mocks for other microservices; testpoints functionality.