# sofastack/sofa-rpc

SOFARPC is a high-performance, high-extensibility, production-level Java RPC  framework.

Repository: https://github.com/sofastack/sofa-rpc
Canonical: https://ross.abutalabs.com/products/sofa-rpc
Homepage: https://www.sofastack.tech/sofa-rpc/docs/Home
Language: Java
License: Apache-2.0
License Family: permissive
Topics: sofa-rpc, sofastack, rpc-framework, protobuf, hessian, sofa-bolt, http2, restful
Last push: 2026-08-08T05:36:21+00:00

## Health v2 (maintenance only)
Score: 86/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 96, release rhythm 66, longevity 100
- inputs: {"age_days": 3068, "days_push": 25, "days_rel": 64, "gap_med": 110, "n_releases_24m": 8}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 3921, forks 1201 (observed 2026-08-28T04:08:29.779749+00:00)

## What it is
SOFARPC is a high-performance, highly extensible, production-grade Java RPC framework developed and battle-tested at Ant Financial for over a decade. It simplifies point-to-point remote service invocation with no code intrusion and offers rich extensibility for filters, routing, load balancing, and service governance.

## Use cases
- make remote procedure calls between Java microservices
- build a service mesh-free microservice architecture in Java
- replace Dubbo with a lightweight Java RPC framework
- implement service load balancing and failover in Java
- expose and consume services over multiple protocols like Bolt, REST, and HTTP2
- integrate RPC with service registries like ZooKeeper or Nacos

## When to choose
- you need a mature, production-proven Java RPC framework with long-term enterprise use
- you want pluggable extensibility for routing, load balancing, and filters
- you need multi-protocol support (Bolt, REST, HTTP2, protobuf, hessian) in one framework
- you are building microservices on the SOFAStack ecosystem or SOFABoot

## When to avoid
- your services are polyglot and need first-class non-JVM client support
- you want a minimal RPC layer without a large framework surface
- your team is not on the JVM / Java stack
- you need gRPC-native interoperability as the primary protocol

## Facets
- artifact type: framework
- maturity: stable
- function: rpc, microservices, serialization, middleware
- domain: microservices, backend, developer-tools
- platform: jvm, cross-platform
- tags: java-rpc, service-governance, sofastack, bolt-protocol, service-registry, load-balancing, fault-tolerance

## Member repositories
- sofastack/sofa-rpc (main) score 86

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:08:29.779749+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-29T18:25:00.869399+00:00, confidence not recorded.
  - readme: https://github.com/sofastack/sofa-rpc (fetched 2026-08-28T04:08:29.779749+00:00, sha 97dc1221a382)
  - homepage: https://www.sofastack.tech/sofa-rpc/docs/Home (fetched 2026-08-29T09:18:49.737651+00:00, sha 8f2ab7fbf477)
- Data as of 2026-08-30T08:39:29.467469+00:00.
