userverYandex 开源的 C++ 异步框架

联合创作 · 2023-09-28 04:45

userver 是一个开源的异步框架,具有丰富的抽象集,用于快速和舒适地创建 C++ 微服务、服务和实用工具。该框架为开发者解决了高效 I/O 交互的问题,线程处理其他请求和任务,并仅在保证立即执行时才返回操作的处理:

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();
}

因此,有了这个框架,你就可以得到直接的源代码,避免操作系统在耗费 CPU 的线程上切换,用少量的执行线程有效地利用CPU。

其他特点:

  • 用于数据库(MongoDB、PostgreSQL、Redis...)和数据传输协议(HTTP、GRPC、TCP...)、任务构建和取消的高效异步驱动程序。
  • 用于缓存、任务、分布式锁定、日志记录、跟踪、统计、指标、JSON/YAML/BSON 的丰富高级组件集。
  • 动态更改服务配置的功能
  • 动态可配置驱动程序、超时、拥塞控制。
  • 一套全面的异步低级同步基元和操作系统抽象。
浏览 9
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报