πŸ“š trpc-go - Awesome Go Library for Distributed Systems

Go Gopher mascot for trpc-go

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
View on GitHub πŸ”—

Detailed Description of trpc-go

English | δΈ­ζ–‡

tRPC-Go Framework

Go Reference Go Report Card LICENSE Releases Docs Tests Coverage

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

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

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.