A C++ parallel computing and asynchronous networking framework for building high-performance, high-concurrency backend services.
Sogou C++ Workflow is a C++ parallel computing and asynchronous networking framework used to build high-performance backend services. It handles networking, computation, and file IO tasks within unified workflows, supporting protocols like HTTP, Redis, MySQL, and Kafka. The framework is designed to manage complex asynchronous operations and concurrency structures efficiently.
C++ backend developers building high-concurrency online services, microservice architectures, or custom RPC systems. It is particularly suited for teams requiring enterprise-grade performance and structured asynchronous programming.
Developers choose Sogou C++ Workflow for its proven scalability in production (handling over 10 billion daily requests), its integrated approach to networking and computing tasks, and its lightweight design without dependencies on boost or asio. The framework's structured concurrency model and simplified memory management reduce the complexity of asynchronous C++ development.
C++ Parallel Computing and Asynchronous Networking Framework
Powers Sogou's core services handling over 10 billion daily requests, demonstrating reliability in high-concurrency production environments as stated in the README.
Integrates networking, computation, and file IO tasks into a single workflow with support for series, parallel, and DAG structures, simplifying complex asynchronous programming.
Uses C++11 standard without relying on boost or asio, making it self-contained and easier to integrate, as highlighted in the compiling requirements.
Abstracts tasks into five types with factory generation and explicit lifecycle management, reducing callback depth and memory leaks without std::shared_ptr.
Built-in protocols are limited to HTTP, Redis, MySQL, and Kafka; common protocols like WebSocket or gRPC require custom implementation or external projects like srpc.
Windows support is in a separate branch using iocp, which may lead to inconsistent updates, maintenance overhead, and potential feature lag compared to the main Linux/macOS branch.
Kafka protocol requires installing compression libraries like lz4, zstd, and snappy, adding setup complexity beyond the core framework.
An open-source C++ library developed and used at Facebook.
Simple, secure & standards compliant web server for the most demanding of applications
Abseil Common Libraries (C++)
A toolkit for making real world machine learning and data analysis applications in C++
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.