smallnest/rpcx

Best microservices framework in Go, like alibaba Dubbo, but with more features, Scale easily. Try it. Test it. If you feel it's better, use it!...

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 29 minutes ago
Added to GitGenius on September 7th, 2026
Created on May 18th, 2016
Open Issues & Pull Requests: 4 (+0)
GitHub issues: Enabled
Number of forks: 1,176
Total Stargazers: 8,315 (+0)
Total Subscribers: 337 (+0)

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Issue API getrepoissuespagesummary failed: 429 Rate limit exceeded. Please try again later.

Detailed Description

rpcx is a microservices RPC framework for Go that enables building distributed systems with service discovery, load balancing, and cross-language support.

The tool addresses the need for efficient remote procedure calls in microservice architectures. It works by allowing developers to expose Go methods as RPC services that can be called by clients over the network. The framework handles service registration, discovery, and routing automatically, supporting multiple transport protocols including TCP, HTTP, QUIC, and KCP. Clients can invoke services with minimal boilerplate code, and the framework manages load balancing and failover across multiple service instances.

Teams building Go microservices should consider rpcx if they need a lightweight alternative to heavier frameworks. It suits projects where services are primarily written in Go but need to interoperate with other languages—the tool provides a gateway for HTTP access, Java client and service libraries, and Rust support. The framework is designed to scale horizontally across cloud environments. Service discovery integrations with etcd, Consul, Zookeeper, and Redis are available through separate plugin repositories, allowing teams to choose their preferred registry without bloating the core installation.

The project maintains a stable branch alongside active development on master. A debugging tool called rpcxdump has been added to help diagnose communication issues between services and clients. The codebase supports optional build tags for advanced transport protocols like QUIC, KCP, and experimental RDMA support, allowing users to include only the features they need.