// the find
sogou/workflow
C++ Parallel Computing and Asynchronous Networking Framework
Sogou's internal C++ async networking and parallel computing framework, open-sourced and battle-tested at 10B+ requests/day across their search backend. It unifies network I/O, file I/O, CPU computation, and DAG orchestration under a single task abstraction — you can mix an HTTP request, a sort algorithm, and a disk read into one workflow without juggling thread pools manually. Aimed at C++ backend developers who need high-throughput services without Boost.Asio or similar dependencies.
The task lifecycle model is genuinely well-thought-out: tasks are created by factory, run, callback, then auto-reclaim — no shared_ptr gymnastics, no leak surface. The built-in protocol coverage (HTTP, Redis, MySQL, Kafka, DNS, Consul) means you can build a service mesh client without pulling in five separate libraries. DAG support is real, not bolted on — graph tasks compose with series/parallel tasks naturally. Available in apt/dnf package repos, which is a meaningful signal that Sogou is treating this as a maintained artifact rather than a code dump.
The API is callback-heavy by design and the learning curve is steep — the abstraction is elegant once you internalize it, but there's no coroutine or async/await surface, so you're writing C++11-era callback chains in a C++20 world. Windows support lives on a separate branch with IOCP, which means you're effectively maintaining two codebases if you care about cross-platform parity. Documentation is bilingual but the Chinese docs are consistently more detailed and more current than the English translations. The Kafka implementation pulls in three compression libraries (lz4, zstd, snappy) as hard dependencies the moment you enable it — no optional flag, no build-time knob.