Seastar- complete tutorial (3)

6 篇文章 0 订阅
4 篇文章 0 订阅

Seastar 是一个 c + + 库,用于在现代多核机器上编写高效的复杂服务器应用程序。

传统上,用于编写服务器应用程序的编程语言库和框架被划分为两个不同的阵营: 注重效率的阵营和注重复杂性的阵营。 有些框架非常高效,但是只允许构建简单的应用程序(例如,DPDK 允许单独处理数据包的应用程序) ,而其他框架允许构建极其复杂的应用程序,代价是运行时效率。 Seastar 是我们两全其美的尝试: 创建一个允许构建高度复杂的服务器应用程序的库,同时实现最佳性能。

Seastar的灵感和第一个用例就是Scylla,是对 Cassandra 的重写。 Cassandra 是一个非常复杂的应用程序,但是,通过 Seastar,我们能够重新实现它,吞吐量增加了10倍,并且大大降低了延迟并且更加一致。

Seastar 提供了一个完整的异步编程框架,它使用两个概念——futurecontinuations——来统一表示和处理每种类型的异步事件,包括网络 i / o、磁盘 i / o 以及其他事件的复杂组合。

由于现代多核和多套接字计算机对于在核心之间共享数据(原子指令、缓存线跳动和内存栅栏)有很高的要求,Seastar 程序使用无共享编程模型,也就是说,可用内存在核心之间分配,每个核心在其自己的内存部分处理数据,核心之间通过显式消息传递进行通信(当然,这本身就是使用 SMP 的共享内存硬件)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值