Repolode
sogou

sogou/workflow

搜狗开源的 C++ 并行计算与异步网络框架,用于构建基于 DAG 的任务流。

Star
14,423
Fork
2,551
未关闭 Issue
27
最近提交
前天

这是什么?

Sogou C++ Workflow 是一个用于后端服务的 C++ 引擎,把异步网络通信与并行计算整合在同一套任务模型中。开发者可以将任务按串行、并行或任意 DAG 结构组织成工作流,网络请求、计算任务和文件 IO 都能放在同一个流程里执行。

框架内置 HTTP、Redis、MySQL(兼容 MariaDB、TiDB)和 Kafka 的异步客户端,并提供可快速启动的 HTTP 服务端接口。它还支持自定义协议,用于实现客户端、服务端和 RPC 系统,并包含服务治理与负载均衡能力,适合微服务架构。

项目支持 Linux、macOS、Android,Windows 版本位于独立分支并基于 IOCP 实现异步网络。编译需要支持 C++11 的编译器,master 分支依赖 OpenSSL 1.1 及以上版本,不依赖 boost 或 asio。使用 Kafka 协议时还需安装 lz4、zstd 和 snappy。

核心功能

  • 01支持串行、并行及任意 DAG 结构的任务编排。
  • 02内置 HTTP、Redis、MySQL、Kafka 异步客户端。
  • 03几行代码即可搭建 HTTP 服务端。
  • 04支持自定义协议,用于实现客户端、服务端和 RPC 系统。
  • 05网络请求、计算任务与文件 IO 可在同一流程中执行。
  • 06内置服务治理与负载均衡功能。

适用场景

  • 构建同时包含网络调用和计算任务的高并发后端服务。
  • 编排多个存在依赖关系的异步 API 或数据库调用。
  • 基于自定义协议实现 RPC 系统。
  • 用 C++ 开发带负载均衡能力的微服务组件。

快速上手

  1. 1

    克隆代码仓库

    git clone https://github.com/sogou/workflow
  2. 2

    进入项目目录并编译库

    cd workflow make
  3. 3

    编译教程示例

    cd tutorial make

使用前须知

  • 主分支需要 OpenSSL 1.1 或更高版本,若不使用 SSL 可改用 nossl 分支。
  • 使用 Kafka 协议需要额外安装 lz4、zstd 和 snappy 压缩库。
  • Windows 版本位于独立分支,而非主代码分支。

收录于专题

标签

常见问题

workflow 是什么?
搜狗开源的 C++ 并行计算与异步网络框架,用于构建基于 DAG 的任务流。 Sogou C++ Workflow 是一个用于后端服务的 C++ 引擎,把异步网络通信与并行计算整合在同一套任务模型中。开发者可以将任务按串行、并行或任意 DAG 结构组织成工作流,网络请求、计算任务和文件 IO 都能放在同一个流程里执行。
workflow 可以免费使用吗?用的什么许可证?
workflow 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
workflow 还在维护吗?
活跃维护中。workflow 最近一次提交是在 2026年10月22日。
workflow 适合用来做什么?
构建同时包含网络调用和计算任务的高并发后端服务。 编排多个存在依赖关系的异步 API 或数据库调用。 基于自定义协议实现 RPC 系统。 用 C++ 开发带负载均衡能力的微服务组件。
workflow 怎么安装和运行?
克隆代码仓库: git clone https://github.com/sogou/workflow 进入项目目录并编译库: cd workflow make 编译教程示例: cd tutorial make
在哪里获取 workflow?
源代码和安装说明在 GitHub 上:https://github.com/sogou/workflow

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目