目前处于测试阶段的Userver承诺为C++开发人员透明地解决高效I/O交互的问题。
C++开发者可以在构建异步微服务方面得到帮助,一个新的开源框架旨在解决高效I/O互动的问题。
根据该项目的GitHub档案,这个名为Userver的异步框架为 "快速和舒适 "地创建C++微服务、服务和实用程序提供了一套抽象概念。该项目目前处于测试阶段。
Userver承诺为开发者透明地解决高效I/O交易的问题。该框架背后的开发者说,它提供了C++的速度、Python的简单性和Go的循环程序模型。有了Userver,通常会暂停执行线程的操作不会这样做;相反,线程会处理其他任务,只有在保证立即执行的情况下才会返回处理该操作。
该项目称,开发者可以获得直接的源代码,并避免操作系统的耗费CPU的上下文切换,同时通过少量的执行线程有效地利用CPU。Userver框架的其他特点包括:
- 一套用于缓存、分布式锁定、JSON/YAML/BSON、日志、度量、统计和任务的高级组件。
- 能够进行即时的服务配置变更。
- 一套全面的异步和低级同步基元和操作系统抽象。
- 用于MongoDB、Postgres、Redis和其他数据库的异步驱动。
- 用于数据传输协议的异步驱动,包括HTTP、GRPC和TCP,以及用于包括构建和取消的任务。
7月29日宣布Userver测试版的公告强调了Userver开发过程的简单性,声称即使是实习生和学生也可以在短短一周内编写并部署到生产中的新微服务。公告指出,包括多线程的错误在内的问题都是在编译时捕获的。userver的文档可以在userver.tech找到。该框架是在Apache 2.0许可下发布的。
Userver的测试版紧随C++的潜在继任者--一种名为Carbon的语言的披露,Carbon目前正处于实验阶段。