A high-performance, feature-rich microservices framework for Go, designed for simplicity and scalability.
rpcx is a microservices framework for Go that facilitates building scalable, distributed applications through remote procedure calls. It provides a comprehensive set of features including service discovery, load balancing, and multiple transport protocols, aiming to be a high-performance alternative to solutions like Alibaba Dubbo. The framework is designed for cloud environments, emphasizing ease of use without requiring protocol buffer definitions.
Go developers and teams building microservices architectures who need a performant, feature-complete RPC framework with service governance capabilities.
Developers choose rpcx for its combination of simplicity—allowing direct use of Go functions—and extensive built-in features like pluggable components and cross-language support, often outperforming other Go RPC frameworks in benchmarks.
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! 𝐉𝐚𝐯𝐚有𝐝𝐮𝐛𝐛𝐨, 𝐆𝐨𝐥𝐚𝐧𝐠有𝐫𝐩𝐜𝐱! build for cloud!
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Benchmarks in the README show rpcx matching or exceeding gRPC-Go in throughput and latency under various loads, making it ideal for high-throughput microservices.
Supports extensible plugins for service discovery, tracing, and codecs, allowing teams to customize the framework without modifying core code.
Offers TCP, HTTP, QUIC, and KCP transports with JSON, Protobuf, and MessagePack serialization, providing flexibility for different network and data requirements.
Enables writing RPC services using plain Go functions without defining protocol buffer files, simplifying development and reducing boilerplate.
Core plugins like etcd and zookeeper have been moved to separate repositories, complicating dependency management and increasing setup effort.
Compared to gRPC, rpcx has a smaller community and fewer third-party tools, which can limit support and integration options for complex projects.
With multiple transports, codecs, and plugin-based features, initial setup and tuning for production environments can be more involved than simpler RPC solutions.
RPCX is an open-source alternative to the following products:
Weibo Motan is a high-performance RPC framework developed by Sina Weibo for building distributed microservices with features like service discovery and load balancing.
Alibaba Dubbo is a high-performance, Java-based RPC framework for building distributed applications and microservices, originally developed by Alibaba.