首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏F-Stack的专栏

    F-Stack与Seastar对比

    对于用户态协议栈来说,开源实现很多,有自研的、有Linux和FreeBSD的用户态移植的,经过初步的筛选留下了Seastar和FreeBSD。 其实一开始我们是倾向于选择Seastar的,因为其除了协议栈之外,尚有比较先进的编程理念和接口,只是上手门槛较高,但上手后使用体验还是很好的。 与Seastar的对比 相同 F-Stack和Seastar都是基本完整的网络编程框架,包含了DPDK网络I/O模块、用户态协议栈、异步编程接口等整个系统共用户接入使用。 使用Seastar,必须要使用Seastar的接口重新开发。 Q:Seastar的Native协议栈在外网运行有什么问题? A:SeaStar作为ScyllaDB的子项目,其实用场景主要是内网数据库,并未对外网环境进行测试。

    3.5K90发布于 2018-01-31
  • 来自专栏F-Stack的专栏

    如何对比 F-Stack 与 Seastar 这两个网络编程框架?

    对于用户态协议栈来说,开源实现很多,有自研的、有Linux和FreeBSD的用户态移植的,经过初步的筛选留下了Seastar和FreeBSD。 其实一开始我们是倾向于选择Seastar的,因为其除了协议栈之外,尚有比较先进的编程理念和接口,只是上手门槛较高,但上手后使用体验还是很好的。 与Seastar的对比 相同 F-Stack和Seastar都是基本完整的网络编程框架,包含了DPDK网络I/O模块、用户态协议栈、异步编程接口等整个系统共用户接入使用。 使用Seastar,必须要使用Seastar的接口重新开发。 Q:Seastar的Native协议栈在外网运行有什么问题? A:SeaStar作为ScyllaDB的子项目,其实用场景主要是内网数据库,并未对外网环境进行测试。

    9.3K00发布于 2017-06-06
  • 【翻译】Crimson:用于多核可扩展性的下一代 Ceph OSD

    Seastar 框架:高性能事件驱动编程模型 Crimson 基于 Seastar 框架构建,这是一个为高性能服务器应用设计的 C++ 异步编程框架。 然后,我们讨论为什么 Crimson 基于 Seastar 框架构建, 以及如何实现每个主要组件以进行扩展 重点:不是自己发明轮子,用Seastar framework 重新设计自己业务 Finally ❝Crimson 寻求基于 Seastar 构建重新设计的 OSD,Seastar 是一个异步编程框架, 具有满足上述目标的所有理想特性。 Crimson OSD 示例代码,展示如何基于 Seastar 构建一个简单的异步服务 Seastar Framework  Seastar 框架 Seastar is ideal for the Crimson Seastar 还为不可避免的跨核通信实现了高性能的非阻塞原语。

    47400编辑于 2025-06-08
  • 【翻译】Crimson:用于多核可扩展性的下一代 Ceph OSD

    Seastar 框架:高性能事件驱动编程模型Crimson 基于 Seastar 框架构建,这是一个为高性能服务器应用设计的 C++ 异步编程框架。 Crimson 寻求基于 Seastar 构建重新设计的 OSD,Seastar 是一个异步编程框架, 具有满足上述目标的所有理想特性。 Crimson OSD 示例代码,展示如何基于 Seastar 构建一个简单的异步服务Seastar Framework Seastar 框架Seastar is ideal for the Crimson Seastar 还为不可避免的跨核通信实现了高性能的非阻塞原语。 AlienStore 是 Seastar 线程中的一个瘦代理,用于与使用 POSIX 线程的 BlueStore 通信(从 Seastar 的角度来看是外星世界)。

    52200编辑于 2025-05-30
  • 来自专栏WeTest质量开放平台团队的专栏

    老司机乱谈『代码之美』 ——不要束缚了自己前进的脚步

    WeTest 导读 Seastar是一个优秀的c++网络框架,代码量低,注释详细,可读性高,在一些基础部门已经开始应用。 框架之中有很多美的地方值得我们学习,本文主要介绍了Seastar框架的代码之美和一些关键特性。 性能之美 Seastar框架在代码上是美的,在性能方面也毫不含糊。对基于Seastar 的httpd来测试,已经具备在单节点(服务器)上每秒处理700万请求的能力,突破千万也指日可待。 开发的应用层代码和底层网络模式是隔离的,应用无需编译,可以通过配置选择使用Linux的tcp协议栈,还是使用Seastar native协议栈(用户态的tcp协议栈,zero-copy, zero-lock Seastar在架构的上都是一些成熟经验,每个core运行一个线程(称之为shard),每个core上运行的线程只处理自己所负责的数据,把异步事件通过Promises的模式调度起来。

    70010编辑于 2023-05-04
  • 来自专栏存储公众号:王知鱼

    Intel:Crimson优化Ceph OSD引擎

    基于Seastar框架: • Seastar是一个异步编程框架,提供one-thread-per-core的shared-nothing架构,并提供高效的非阻塞通信和用户空间任务调度。 Seastar框架:使用Seastar Reactor作为底层的事件驱动框架,优化了高并发IO操作。 4. 协议处理:Msgr分片0负责初始连接和协议处理,包括握手和收集信息。 5. 套接字管理:系统使用seastar套接字进行通信,每个核心都可以接受这些套接字。 7. 客户端交互:底层架构支持与客户端或其他OSD的通信。 异步处理:使用seastar::shared_promise和wait_for_active机制实现异步操作,提高系统效率。 4. • 底层支持:使用Seastar框架作为基础构建块。 3. 关键组件: • TransactionManager:协调和管理事务,确保数据一致性。

    65210编辑于 2025-02-11
  • 来自专栏daos

    Linux内核与DPDK-HTTP 性能对决(Linux Kernel vs DPDK: HTTP Performance Showdown)[译]

    我将使用 Seastar 运行我的测试,Seastar 是一个用于构建高性能服务器应用程序的 C++ 框架。 编译seastar 最初构建 Seastar 时我遇到了一些挑战。 我想使用 Amazon Linux 2,因为我对它非常熟悉,但很明显,我正在与过时的依赖项进行一场注定失败的战斗。 本文中使用的所有补丁都可以在我的 GitHub 上的 Seastar 存储库(https://github.com/talawahtech/seastar/tree/http-performance/) Seastar 使用 DPDK 19.05,此时有点过时。 AWS ENA 驱动程序有一组适用于 DPDK 19.05 的补丁,必须应用这些补丁才能让 Seastar 在 AWS 上运行。 另一方面,Seastar 要复杂一些。 Seastar 支持多种不同的高分辨率计时器、轮询函数和跨反应器消息队列; 并且它试图对任务预计运行多长时间实施某些保证。

    1.9K30编辑于 2023-06-23
  • 来自专栏蓝天

    后台开发 - DPDK引发的图谱

    Poll Mode Driver 轮询模式驱动 Netmap 基于零拷贝思想的高速网络I/O架构,竞品:DPDK http://info.iet.unipi.it/~luigi/netmap/ Seastar 基于DPDK的现代硬件上的高性能C++异步框架 http://seastar.io/ ScyllaDB 基于Seastar的高性能C++版本Cassandra https://www.scylladb.com

    1.3K22发布于 2018-12-27
  • 来自专栏C++ 动态新闻推送

    C++ 中文周刊 第79期

    UCX c++20应用协程举例 STL源码分析之std::function g++8.3,sizeof(std::function)为什么等于32 std::function的分析 用户态操作系统之四 Seastar 的init函数与stop 用户态操作系统之五 Seastar的timer 用户态操作系统之六 Seastar的跨线程通信 seastar的一些代码走读。

    65650编辑于 2022-09-23
  • 来自专栏周末程序猿

    Linux高性能网络编程十谈|9个C++的开源的网络框架

    build //libevent:libevent_echo_server bazel build //boost_asio:boost_asio_echo_server bazel build //seastar :seastar_echo_server bazel build //libev:libev_echo_server bazel build //libuv:libuv_echo_server bazel 无共享 C++17 极高性能、现代设计 ScyllaDB, Redpanda, Seastar HTTP Server Wangle 异步 C++17 Facebook 开源、Pipeline 架构 Seastar - 无共享架构 特点: 无共享设计: 每个 CPU 核心独立运行,避免锁竞争 用户态网络栈: 绕过内核,直接操作网络硬件 (DPDK) 协程支持: 基于 future/promise 的协程模型 官方文档 Wangle GitHub Proxygen GitHub Mongoose 官方文档 https://docs.seastar.io/master/tutorial.html https:

    1.2K12编辑于 2025-06-23
  • 来自专栏C++ 动态新闻推送

    C++ 中文周刊 2024-01-19 第146期

    热门库最近更新了什么 这个环节我会偶尔更新一下某些库最近的动态更新/代码讲解之类的 之前说想要搞但一直偷懒,这里更新一期seastar,下期folly/brpc之类的,也希望大家给点建议 seastar string 最近的改动,他们给内置的内存池加了PROFILE配置 另外,有几个优化其实很小,比如判断内部peer已经用不到了,只clear但还占用内存,可以主动清掉 diff --git a/include/seastar /core/shared_future.hh b/include/seastar/core/shared_future.hh index 0e1e31e6..4a2ea71f 100644 --- a/ include/seastar/core/shared_future.hh +++ b/include/seastar/core/shared_future.hh @@ -168,6 +168,9 @@

    23210编辑于 2024-07-30
  • DeepSeek 3FS源码分析(2) 协程如何突破单线程限制,实现多核并发

    :IOThreadPoolExecutor 等线程池分发任务 • 将大量协程任务分发到多个线程上并行执行 • 直接利用多核 CPU 的计算能力,提升系统整体吞吐量 新一代系统架构演进:Ceph 案例 Seastar 异步框架重构 新一代 Ceph 直接利用异步框架 Seastar 重构 OSD。 Seastar 核心特性: • 高性能:借助于无锁编程和精心设计的内存管理,能在多核 CPU 上实现接近硬件极限的性能 • 异步非阻塞:使用未来(futures)简化复杂异步逻辑的编码过程 • 自含 TCP Ceph Crimson 项目实践 架构设计: • 使用 Seastar 框架重写 OSD • I/O 操作建模为协程任务 • 客户端请求包装成协程任务 并行策略: // 执行示例输出 主线程: 140735273355072 123145447251968 协程 1 开始处理, 数据: 10, 线程: 123145452507136 协程 2 开始处理, 数据: 20, 线程: 123145457762304 技术优势: • Seastar

    18610编辑于 2025-12-24
  • 来自专栏C++ 动态新闻推送

    C++ 中文周刊 2024-01-26 第147期

    现在基本功能搞定了,欢迎试用体验 热门库最近更新了什么 • boost 新的scope库被合入 https://lists.boost.org/Archives/boost/2024/01/255717.php • seastar 最近改动较少 主要是代码规范化 比如 https://github.com/scylladb/seastar/pull/2054 另外就是修复bug,延长请求,请求没结束不释放handler https ://github.com/scylladb/seastar/pull/2044/ • folly folly类似seastar 把版本切17之后做了很多的适配和bugfix 比较好玩的是folly::

    30910编辑于 2024-07-30
  • 来自专栏【腾讯云开发者】

    千万并发连接下,如何保障网络性能?

    16年的时候当时的leader拍板下,我们放弃了继续维护1.0的协议栈,选用开源协议栈进行适配升级并对外开源,通过调研先选择了seastar(排除了MTCP、LwIP等),并在当年做了2.0版本,也做了一些应用适配 现在已经合并到全站加速ECDN中)等,但是理想是美好的,现实是残酷的,虽然基于F-Stack2.0版本的HttpDNS在实验室表现堪称完美,性能优异,可扩展插件式架构等,但是在现网少量灰度运营时踩了无数坑,这和Seastar 在团队填了不少坑,也提交了多个Pull Request到Seastar后我们发现又陷入了1.0版本的循环,所以坚持一段时间后还是放弃了Seastar,转而从更成熟的Llinux和FreeBSD协议栈中选择了 Seastar Seastar(https://github.com/scylladb/seastar)作为ScyllaDB的子项目,其Native stack在内网有较好的表现,内网场景使用较多。

    1.1K30发布于 2021-11-22
  • 来自专栏《云荐大咖》

    千万并发连接下,如何保障网络性能

    16年的时候当时的 leader拍板下,我们放弃了继续维护1.0的协议栈,选用开源协议栈进行适配升级并对外开源,通过调研先选择了 seastar(排除了MTCP、LwIP等),并在当年做了2.0版本,也做了一些应用适配 现在已经合并到全站加速ECDN中)等,但是理想是美好的,现实是残酷的,虽然基于F-Stack2.0版本的 HttpDNS在实验室表现堪称完美,性能优异,可扩展插件式架构等,但是在现网少量灰度运营时踩了无数坑,这和Seastar 在团队填了不少坑,也提交了多个 Pull Request到Seastar后我们发现又陷入了1.0版本的循环,所以坚持一段时间后还是放弃了 Seastar,转而从更成熟的 Llinux和 FreeBSD Seastar Seastar作为ScyllaDB的子项目,其 Native stack 在内网有较好的表现,内网场景使用较多。

    1.3K30编辑于 2021-12-27
  • 来自专栏F-Stack

    千万并发连接下,如何保障网络性能

    16年的时候当时的 leader拍板下,我们放弃了继续维护1.0的协议栈,选用开源协议栈进行适配升级并对外开源,通过调研先选择了 seastar(排除了MTCP、LwIP等),并在当年做了2.0版本,也做了一些应用适配 现在已经合并到全站加速ECDN中)等,但是理想是美好的,现实是残酷的,虽然基于F-Stack2.0版本的 HttpDNS在实验室表现堪称完美,性能优异,可扩展插件式架构等,但是在现网少量灰度运营时踩了无数坑,这和Seastar 在团队填了不少坑,也提交了多个 Pull Request到Seastar后我们发现又陷入了1.0版本的循环,所以坚持一段时间后还是放弃了 Seastar,转而从更成熟的 Llinux和 FreeBSD Seastar Seastar作为ScyllaDB的子项目,其 Native stack 在内网有较好的表现,内网场景使用较多。

    1.5K20发布于 2021-11-02
  • 来自专栏JadePeng的技术博客

    jenkins X实践系列(1) —— 背景知识

    debug] Original chart version: "" [debug] CHART PATH: /workspace/xnginx/charts/x-nginx NAME: messy-seastar ports: - port: 80 targetPort: 8080 protocol: TCP name: http selector: app: messy-seastar-x-nginx x-nginx/templates/deployment.yaml apiVersion: extensions/v1beta1 kind: Deployment metadata: name: messy-seastar-x-nginx : replicas: 1 template: metadata: labels: draft: draft-app app: messy-seastar-x-nginx

    3.1K20发布于 2018-11-21
  • 来自专栏C++ 动态新闻推送

    C++ 中文周刊 第80期

    我后面整理一下 如何高效解决 C++内存问题,Apache Doris 实践之路|技术解析 介绍Sanitizer 用户态操作系统之七 Seastar的文件操作 用户态操作系统之八 Seastar的coroutine 支持 seastar代码走读 使用协程需要注意的问题(二) 注意co_await的阻塞语义,永远超时导致不能使用 Lua GC算法并行化探讨 四舍五入等于c的东西。

    40040编辑于 2022-09-23
  • 来自专栏腾讯技术工程官方号的专栏

    热门通讯软件Discord万亿级消息存储架构

    Modern Shared-Nothing Architecture ScyllaDB 基于其底层 Seastar 框架,采用高度异步、无共享设计。 在 ScyllaDB 本身内,服务器到服务器的通信使用高效的 Seastar RPC 流,并使用暗示切换等反熵机制保持彼此同步。 分片作为独立运行的单元运行,ScyllaDB 底层基于 Seastar 框架,采用高度异步、无共享设计。每个数据分片都分配有 CPU、RAM、持久存储和网络资源,并尽可能高效地使用这些资源。 在无法避免内核之间通信的情况下,Seastar 提供高度可扩展的异步无锁内核间通信。 避免用户态内核态切换 当在 SSTable 中找到一行时,需要通过网络将其发送到客户端。 ScyllaDB 通过使用 Seastar 的网络堆栈来处理这个问题。Seastar 的网络堆栈在用户空间中运行,并利用DPDK实现更快的数据包处理。

    2.1K30编辑于 2023-10-23
  • 来自专栏云原生布道专栏

    【重识云原生】第四章云网络4.9.3.1节——DPDK技术综述

    README - lwip.git - lwIP - A Lightweight TCPIP stack 1.5.3.3 Seastar         Seastar 是一个开源的,基于 C++ 11 Seastar - Seastar 1.5.3.4 f-stack         腾讯开源的用户空间协议栈,移植于 FreeBSD协议栈,粘合了 POSIX API,上层应用(协程框架,Nginx,Redis

    2.1K30编辑于 2022-09-08
领券