π trpc-go - Awesome Go Library for Distributed Systems
The Go language implementation of tRPC, which is a pluggable, high-performance RPC framework.
π·οΈ Distributed Systems
π Packages that help with building Distributed Systems.
β 809 stars
Detailed Description of trpc-go
English | δΈζ
tRPC-Go Framework
tRPC-Go, is the Go language implementation of tRPC, which is a pluggable, high-performance RPC framework.
For more information, please refer to the quick start guide and detailed documentation.
Overall Architecture
tRPC-Go has the following features:
- Multiple services can be started within a single process, listening on multiple addresses.
- All components are pluggable, with default implementations for various basic functionalities that can be replaced. Other components can be implemented by third parties and registered within the framework.
- All interfaces can be mock tested using gomock&mockgen to generate mock code, facilitating testing.
- The framework supports any third-party protocol by implementing the
codec
interfaces for the respective protocol. It defaults to supporting trpc and http protocols and can be switched at any time. - It provides the trpc command-line tool for generating code templates.
Related Documentation
- quick start guide and detailed documentation
- readme documents in each directory
- trpc command-line tool
- helloworld development guide
- example documentation for various features
Ecosystem
How to Contribute
If you're interested in contributing, please take a look at the contribution guidelines and check the unassigned issues in the repository. Claim a task and let's contribute together to tRPC-Go.