trpc.group/trpc-go/trpc-go@v1.0.3/README.md (about) 1 English | [中文](README.zh_CN.md) 2 3 # tRPC-Go Framework 4 5 [![Go Reference](https://pkg.go.dev/badge/github.com/trpc-group/trpc-go.svg)](https://pkg.go.dev/github.com/trpc-group/trpc-go) 6 [![Go Report Card](https://goreportcard.com/badge/trpc.group/trpc-go/trpc-go)](https://goreportcard.com/report/trpc.group/trpc-go/trpc-go) 7 [![LICENSE](https://img.shields.io/badge/license-Apache--2.0-green.svg)](https://github.com/trpc-group/trpc-go/blob/main/LICENSE) 8 [![Releases](https://img.shields.io/github/release/trpc-group/trpc-go.svg?style=flat-square)](https://github.com/trpc-group/trpc-go/releases) 9 [![Docs](https://img.shields.io/badge/docs-latest-green)](https://trpc.group/docs/languages/go/) 10 [![Tests](https://github.com/trpc-group/trpc-go/actions/workflows/prc.yml/badge.svg)](https://github.com/trpc-group/trpc-go/actions/workflows/prc.yml) 11 [![Coverage](https://codecov.io/gh/trpc-group/trpc-go/branch/main/graph/badge.svg)](https://app.codecov.io/gh/trpc-group/trpc-go/tree/main) 12 13 14 tRPC-Go, is the [Go][] language implementation of [tRPC][], which is a pluggable, high-performance RPC framework. 15 16 For more information, please refer to the [quick start guide][quick start] and [detailed documentation][docs]. 17 18 ## Overall Architecture 19 20 ![Architecture](.resources/overall.png) 21 22 tRPC-Go has the following features: 23 24 - Multiple services can be started within a single process, listening on multiple addresses. 25 - 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. 26 - All interfaces can be mock tested using gomock&mockgen to generate mock code, facilitating testing. 27 - 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. 28 - It provides the [trpc command-line tool][trpc-cmdline] for generating code templates. 29 30 ## Related Documentation 31 32 - [quick start guide][quick start] and [detailed documentation][docs] 33 - readme documents in each directory 34 - [trpc command-line tool][trpc-cmdline] 35 - [helloworld development guide][helloworld] 36 - [example documentation for various features][features] 37 38 ## Ecosystem 39 40 - [codec plugins][go-codec] 41 - [filter plugins][go-filter] 42 - [database plugins][go-database] 43 - [more...][ecosystem] 44 45 ## How to Contribute 46 47 If you're interested in contributing, please take a look at the [contribution guidelines][contributing] and check the [unassigned issues][issues] in the repository. Claim a task and let's contribute together to tRPC-Go. 48 49 [Go]: https://golang.org 50 [go-releases]: https://golang.org/doc/devel/release.html 51 [tRPC]: https://github.com/trpc-group/trpc 52 [trpc-cmdline]: https://github.com/trpc-group/trpc-cmdline 53 [docs]: /docs/README.md 54 [quick start]: /docs/quick_start.md 55 [contributing]: CONTRIBUTING.md 56 [issues]: https://github.com/trpc-group/trpc-go/issues 57 [go-codec]: https://github.com/trpc-ecosystem/go-codec 58 [go-filter]: https://github.com/trpc-ecosystem/go-filter 59 [go-database]: https://github.com/trpc-ecosystem/go-database 60 [ecosystem]: https://github.com/orgs/trpc-ecosystem/repositories 61 [helloworld]: /examples/helloworld/ 62 [features]: /examples/features/