Repolode
sogou

sogou/workflow

Framework de computación paralela y redes asíncronas en C++11, usado en los servicios de back-end de Sogou para crear flujos de tareas basados en DAG.

Estrellas
14,423
Forks
2,551
Issues abiertos
27
Último commit
anteayer

¿Qué es?

Sogou C++ Workflow es un motor en C++ para servicios de back-end que combina redes asíncronas con computación paralela. Los usuarios componen tareas en series, estructuras paralelas y DAG arbitrarios, de modo que las solicitudes de red, los trabajos de cómputo y las operaciones de E/S de archivos puedan ejecutarse en un mismo flujo.

El framework incluye clientes asíncronos integrados para HTTP, Redis, MySQL (incluidos MariaDB y TiDB) y Kafka, además de una API de servidor HTTP que puede ponerse en marcha con unas pocas líneas. También admite protocolos definidos por el usuario para crear clientes, servidores y sistemas RPC personalizados, así como funciones de gestión de servicios y balanceo de carga para arquitecturas de microservicios.

El proyecto es compatible con Linux, macOS, Windows (mediante una rama independiente que usa IOCP) y Android. Requiere C++11 y OpenSSL 1.1 o posterior en la rama master, y no depende de boost ni asio. El protocolo Kafka también requiere lz4, zstd y snappy.

Funciones clave

  • 01Permite crear grafos de tareas en serie, paralelos y DAG arbitrarios.
  • 02Incluye clientes asíncronos para HTTP, Redis, MySQL y Kafka.
  • 03Permite crear servidores HTTP con unas pocas líneas de código.
  • 04Admite protocolos definidos por el usuario para crear clientes, servidores y sistemas RPC personalizados.
  • 05Ejecuta tareas de red, cómputo y E/S de archivos en un mismo flujo de trabajo.
  • 06Ofrece funciones de gestión de servicios y balanceo de carga.

Casos de uso

  • Crear servicios de back-end de alta concurrencia que combinen llamadas de red y trabajo limitado por CPU.
  • Coordinar varias llamadas asíncronas a API o bases de datos con dependencias entre ellas.
  • Crear sistemas RPC personalizados basados en un protocolo definido por el usuario.
  • Desarrollar componentes de microservicios en C++ con balanceo de carga integrado.

Inicio rápido

  1. 1

    Clona el repositorio

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

    Entra en el directorio del proyecto y compila la biblioteca

    cd workflow make
  3. 3

    Compila los ejemplos del tutorial

    cd tutorial make

Antes de usarlo

  • La rama master requiere OpenSSL 1.1 o una versión posterior, salvo que uses la rama nossl.
  • La compatibilidad con Kafka requiere instalar bibliotecas de compresión adicionales (lz4, zstd, snappy).
  • La compatibilidad con Windows está en una rama independiente, no en el código principal.

En colecciones

Temas

Preguntas frecuentes

¿Qué es workflow?
Framework de computación paralela y redes asíncronas en C++11, usado en los servicios de back-end de Sogou para crear flujos de tareas basados en DAG. Sogou C++ Workflow es un motor en C++ para servicios de back-end que combina redes asíncronas con computación paralela. Los usuarios componen tareas en series, estructuras paralelas y DAG arbitrarios, de modo que las solicitudes de red, los trabajos de cómputo y las operaciones de E/S de archivos puedan ejecutarse en un mismo flujo.
¿workflow es gratuito? ¿Qué licencia tiene?
workflow es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿workflow sigue mantenido?
Mantenimiento activo. El último commit de workflow fue el 22 oct 2026.
¿Para qué puedo usar workflow?
Crear servicios de back-end de alta concurrencia que combinen llamadas de red y trabajo limitado por CPU. Coordinar varias llamadas asíncronas a API o bases de datos con dependencias entre ellas. Crear sistemas RPC personalizados basados en un protocolo definido por el usuario. Desarrollar componentes de microservicios en C++ con balanceo de carga integrado.
¿Cómo se instala workflow?
Clona el repositorio: git clone https://github.com/sogou/workflow Entra en el directorio del proyecto y compila la biblioteca: cd workflow make Compila los ejemplos del tutorial: cd tutorial make
¿Dónde consigo workflow?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/sogou/workflow

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados