// the find
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! 𝐉𝐚𝐯𝐚有𝐝𝐮𝐛𝐛𝐨, 𝐆𝐨𝐥𝐚𝐧𝐠有𝐫𝐩𝐜𝐱! build for cloud!
rpcx is a Go RPC framework modeled after Alibaba's Dubbo — service discovery, load balancing, and fault tolerance baked in, without requiring proto files. It targets teams running Go microservices who want more than gRPC's bare bones but less than a full service mesh. Actively maintained, with production use at several Chinese tech companies.
1. No proto files required — register plain Go structs directly, which cuts setup friction significantly compared to gRPC. 2. Transport flexibility is real: TCP, QUIC, KCP, and in-memory connectors are all first-class, with separate build tags so you don't pull in QUIC/KCP weight unless you need it. 3. Load balancing options go beyond round-robin — consistent hashing, geographic routing, and network-quality-based selection are built in, not bolted on. 4. The rpcxdump tool (tcpdump-style protocol inspector) is the kind of operational tooling most frameworks skip entirely.
1. The benchmark numbers are from Go 1.9 on a 2016 Xeon — there's no current comparison against gRPC or Connect, so the performance claims are unverifiable without running your own tests. 2. Key plugins (etcd, consul, zookeeper, redis) were split into separate repos at 1.7.6 with no clear versioning contract between them — coordinating upgrades across those repos adds maintenance surface. 3. Cross-language support is officially Go-first; the Java and Rust clients are separate, lightly maintained projects with no guarantee of protocol parity. 4. Documentation is mostly on rpcx.io and in Chinese-language community channels (QQ groups), which is a genuine barrier for non-Chinese teams evaluating adoption.