userver: userver
No Matches

The C++ Asynchronous Framework

🐙 userver is the modern open source asynchronous framework with a rich set of abstractions for fast and comfortable creation of C++ microservices, services and utilities. The problem of efficient I/O interactions is solved transparently for the developers:
std::size_t Ins(storages::postgres::Transaction& tr, std::string_view key) {
// Asynchronous execution of the SQL query in transaction. Current thread
// handles other requests while the response from the DB is being received:
auto res = tr.Execute("INSERT INTO keys VALUES ($1)", key);
return res.RowsAffected();

Micro-services based on userver served more than a billion requests while you were reading this sentence.

Technologies for debugging and memory profiling a running production service.
Efficient asynchronous drivers for databases (MongoDB, PostgreSQL, MySQL/MariaDB (experimental), Redis, ClickHouse, ...) and data transfer protocols (HTTP, WEbSockets, gRPC, TCP, AMQP-0.9.1 (experimental), ...), tasks construction and cancellation.
Functionality to change the service configuration on-the-fly. Adjust options of the deadline propagation, timeouts, congestion-control without a restart.
Rich set of high-level components for caches, tasks, distributed locking, logging, tracing, statistics, metrics, JSON/YAML/BSON.
Comprehensive set of asynchronous low-level synchronization primitives and OS abstractions.

Speed of C++, simplicity of Python.
Dive into the documentation for more details.
Github   Telegram