# sogou/srpc

RPC framework based on C++ Workflow. Supports SRPC, Baidu bRPC, Tencent tRPC, thrift protocols.

Repository: https://github.com/sogou/srpc
Canonical: https://ross.abutalabs.com/products/srpc
Language: C++
License: Apache-2.0
License Family: permissive
Topics: rpc, protobuf, thrift, workflow, trpc, brpc, opentelemetry
Last push: 2026-03-24T07:25:39+00:00

## Health v2 (maintenance only)
Score: 64/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 73, release rhythm 31, longevity 100
- inputs: {"age_days": 2179, "days_push": 162, "days_rel": 251, "gap_med": null, "n_releases_24m": 1}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2140, forks 407 (observed 2026-08-28T04:06:18.312154+00:00)

## What it is
SRPC is an enterprise-level C++ RPC framework built on Sogou C++ Workflow, used in production at Sogou for tens of billions of daily requests. It supports multiple RPC protocols (SRPC, bRPC, tRPC, Thrift), IDLs (Protobuf, Thrift), data formats, compression, and observability via OpenTelemetry tracing and metrics.

## Use cases
- build a high-performance low-latency C++ microservices RPC system
- serve protobuf-based RPC APIs compatible with bRPC or tRPC clients
- expose RPC services over HTTP+JSON for clients in any language
- add OpenTelemetry tracing and metrics to C++ backend services
- interoperate between Protobuf and Thrift IDL services
- build async services combining RPC with Workflow parallel tasks

## When to choose
- you need a lightweight, high-performance C++ RPC framework with multi-protocol support
- you already use Sogou Workflow and want RPC on top of it
- you need interoperability across SRPC, bRPC, tRPC, and Thrift ecosystems
- you want built-in observability with OpenTelemetry

## When to avoid
- your stack is primarily Java, Go, or Python with no C++ components
- you need a managed or non-C++ RPC solution like gRPC with broad language support
- you want a framework with a very large third-party ecosystem and community

## Facets
- artifact type: framework
- maturity: active
- function: rpc, serialization, middleware, http-server, tracing, monitoring
- domain: microservices, backend, developer-tools, networking
- platform: windows, cpp, cross-platform
- tags: protobuf, thrift, brpc, trpc, workflow, opentelemetry, high-performance, idl, compression, linux, macos

## Member repositories
- sogou/srpc (main) score 64

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:06:18.312154+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T02:51:29.697629+00:00, confidence not recorded.
  - readme: https://github.com/sogou/srpc (fetched 2026-08-28T04:06:18.312154+00:00, sha 8d04c0cfcc69)
- Data as of 2026-08-30T08:39:29.467469+00:00.
