当前位置: 首页 > 软件库 > 程序开发 > 微服务框架 >

userver

Yandex 开源的 C++ 异步框架
授权协议 Apache-2.0
开发语言 C/C++
所属分类 程序开发、 微服务框架
软件类型 开源软件
地区 不详
投 递 者 沈鸿光
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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 的丰富高级组件集。
  • 动态更改服务配置的功能
  • 动态可配置驱动程序、超时、拥塞控制。
  • 一套全面的异步低级同步基元和操作系统抽象。
 相关资料
  • 因此,一般的想法是使用来爬取页面并执行HTTP请求(想法和实现与本答案中描述的非常接近。这将创建一个,然后可以使用它(解封为多部分,拆分为各个部分,...)。 我现在的问题是的消耗可能需要一段时间(如果页面很大,解组需要一些时间,可能最后会有一些数据库请求来持久化一些数据,...)。因此,如果下游速度较慢,我希望为背压。默认情况下,下一个HTTP请求将在上一个请求完成后立即启动。 所以我的问题是:

  • 一、前言 关于开源框架这块,其实主要是针对自己项目中使用到的框架进行准备。从使用,到使用场景、优缺点以及源码实现都需要逐一掌握理解。这一部分是向面试官展示自己水平与能力的一个重要部分,所以要着重准备。 针对开源框架,该部分整理了自己在做项目过程中使用到的几个框架。大多都是从网上找的一些大佬的文章,深入浅出,着重讲述源码实现,可以帮助自己更好的理解。 二、目录 OkHttp解析 Retrofit解析

  • 问题内容: 我有ajax请求执行3个任务: 保存模型(数据库) 发电子邮件 提供成功或失败的消息。 因为此任务需要太多时间。用户可以等待长达20秒的响应(成功或失败的消息)。并且,如果用户关闭浏览器,则它停止在该用户当前处理的操作之一中。 这是糟糕的用户体验。 我希望用户将其数据提交给我的控制器,然后他将收到“成功或失败的消息”。并且该过程将完全在服务器端,并且它应该支持多个会话。 我怎样才能做到

  • 这是我的代码: 但是当我从控制器调用函数时。它显示错误 在上一个异步操作完成之前,在此上下文上启动了第二个操作。使用“await”确保在该上下文上调用另一个方法之前已完成任何异步操作。任何实例成员都不能保证线程安全。 请帮我解决这个问题。

  • EasySwoole支持在定时器、控制器处理中等多处位置使用异步进程。 CoreSwooleAsyncTaskManager是对Swoole Task的封装实现。 AbstractAsyncTask CoreAbstractInterfaceAbstractAsyncTask 定义了异步任务的接口实现,一个异步任务对象都应当基础AbstractAsyncTask。 class Task exten

  • 本教程介绍如何使用 C++ 的 gRPC 异步/非阻塞 API 去实现简单的服务器和客户端。假设你已经熟悉实现同步 gRPC 代码,如gRPC 基础: C++所描述的。本教程中的例子基本来自我们在overview中使用的Greeter 例子。你可以在 grpc/examples/cpp/helloworld找到安装指南。 概览 gRPC 的异步操作使用CompletionQueue。 基本工作流如

  • 本文向大家介绍Spring Boot 异步框架的使用详解,包括了Spring Boot 异步框架的使用详解的使用技巧和注意事项,需要的朋友参考一下 1. 前言 随着数据量和调用量的增长,用户对应用的性能要求越来越高。另外,在实际的服务中,还存在着这样的场景:系统在组装数据的时候,对于数据的各个部分的获取实际上是没有前后依赖关系的。这些问题都很容易让我们想到将这些同步调用全都改造为异步调用。不过自己

  • 本文向大家介绍Python的Tornado框架的异步任务与AsyncHTTPClient,包括了Python的Tornado框架的异步任务与AsyncHTTPClient的使用技巧和注意事项,需要的朋友参考一下 高性能服务器Tornado Python的web框架名目繁多,各有千秋。正如光荣属于希腊,伟大属于罗马。Python的优雅结合WSGI的设计,让web框架接口实现千秋一统。WSGI 把应用