userver是一个开源的异步框架,具有丰富的抽象集,用于快速和舒适地创建C++微服务、服务和实用工具。该框架为开发者解决了高效I/O交互的问题,线程处理其他请求和任务,并仅在保证立即执行时才返回操作的处理:
std::size_tIns(storages::postgres::Transaction&tr,std::string_viewkey){//AsynchronousexecutionoftheSQLqueryintransaction.Currentthread//handlesotherrequestswhiletheresponsefromtheDBisbeingreceived:autores=tr.Execute("INSERTINTOkeysVALUES($1)",key);returnres.RowsAffected();}因此,有了这个框架,你就可以得到直接的源代码,避免操作系统在耗费CPU的线程上切换,用少量的执行线程有效地利用CPU。
其他特点:
用于数据库(MongoDB、PostgreSQL、Redis...)和数据传输协议(HTTP、GRPC、TCP...)、任务构建和取消的高效异步驱动程序。用于缓存、任务、分布式锁定、日志记录、跟踪、统计、指标、JSON/YAML/BSON的丰富高级组件集。动态更改服务配置的功能动态可配置驱动程序、超时、拥塞控制。一套全面的异步低级同步基元和操作系统抽象。
评论