An enterprise-level RPC framework based on C++ Workflow, supporting SRPC, bRPC, tRPC, and Thrift protocols.
SRPC is an enterprise-grade RPC framework built on Sogou C++ Workflow, designed for high-performance, low-latency communication between distributed services. It supports multiple RPC protocols like SRPC, bRPC, tRPC, and Thrift, and handles tens of billions of requests daily in production environments. The framework provides built-in observability, compression, and seamless integration with asynchronous workflows.
C++ developers and engineers building high-throughput, low-latency distributed systems, microservices, or cloud-native applications requiring robust RPC communication.
Developers choose SRPC for its battle-tested performance in production, multi-protocol interoperability, and deep integration with Sogou Workflow for asynchronous programming. Its built-in support for observability standards like OpenTelemetry reduces instrumentation overhead.
RPC framework based on C++ Workflow. Supports SRPC, Baidu bRPC, Tencent tRPC, thrift protocols.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Handles tens of billions of daily requests in Sogou's search and ad systems, with detailed benchmarks showing high QPS and low latency under load.
Supports SRPC, bRPC, tRPC, and Thrift protocols natively, allowing seamless integration with diverse RPC systems without gateway overhead.
Integrates AOP modules for automatic metrics and tracing to OpenTelemetry and Prometheus, reducing manual instrumentation effort.
Fully compatible with Sogou Workflow for asynchronous task management, enabling complex parallel and series RPC calls with upstream services.
Native clients and servers are C++-only; the HTTP+JSON gateway is a workaround for polyglot support, adding latency and complexity.
Deep integration with Sogou Workflow creates vendor lock-in, limiting flexibility if migrating to other workflow or RPC frameworks.
Requires manual code generation with srpc_generator and protoc, plus specific compilation flags, making initial setup more involved than plug-and-play alternatives.