这个项目能做什么

Seastar是一个事件驱动框架,用于在C++中编写非阻塞、异步的服务器端代码。它基于future和promise,一旦理解了模型,开发者就能以相对直接的方式表达异步逻辑。 构建:可以通过提供的install-dependencies.sh脚本安装依赖,然后使用configure.py(CMake的封装)进行配置,并用ninja编译。缺失的依赖可以使用--cook选项本地获取。构建模式对应CMake构建类型:debug(Debug,ASAN/UBSAN,系统分配器,所有检查)、release(RelWithDebInfo,-O3,Seastar分配器,断言)、dev(自定义,-O1,无调试信息)和sanitize(自定义,-Os,ASAN/UBSAN)。README指出Seastar对分配器和优化敏感,release模式比dev、sanitize和debug模式快很多。 使用:Seastar可以直接从构建目录使用,也可以通过pkg-config或CMake的Seastar包在安装后使用。它支持C++23和C++26,默认使用编译器支持的最新标准,可通过--c++-standard选项选择。提供了基于Docker的构建说明,DPDK的使用是可选的。 特性:Seastar包含自己的用户态TCP/IP栈,以获得更好的性能。推荐硬件包括多核/NUMA CPU、快速网卡(建议10G或40G,每CPU有多个硬件队列)、高IOPS SSD,以及多台客户端机器用于负载生成。 资源:提供了迷你教程和全面教程,以及web文档、开发邮件列表、GitHub Discussions和问题跟踪器。 使用Seastar的项目包括cpv-cql-driver、cpv-framework、Redpanda、Scylla、smf和Ceph Crimson。