博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Seastar- complete tutorial (3)
阅读量:3576 次
发布时间:2019-05-20

本文共 599 字,大约阅读时间需要 1 分钟。

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

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

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

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

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

转载地址:http://yjxgj.baihongyu.com/

你可能感兴趣的文章
springBoot官方入门篇一 引入依赖并运行
查看>>
java大牛25点
查看>>
LSTM 讲解
查看>>
SpringBoot中启动的端口与设置的端口不一致
查看>>
Lua 元表及元方法
查看>>
JAVA 继承
查看>>
电脑键盘突然不能打字,很多键变成快捷键了
查看>>
nowcoder 左神算法1
查看>>
code刷题
查看>>
学习日记03
查看>>
学习日记04
查看>>
js自定义数据顺序进行升序或者降序排序
查看>>
【零】简单数仓框架优化、配置及基准测试
查看>>
Sqoop的安装及测试
查看>>
Kylin的简单使用
查看>>
Presto的概念和安装使用
查看>>
Druid的Web页面使用
查看>>
Scala-HelloWorld
查看>>
Scala-IDEA中环境部署
查看>>
Scala-HelloWorld解析
查看>>