// the find
TarsCloud/TarsGo
A high performance microservice framework in golang. A linux foundation project.
TarsGo is Tencent's RPC framework port to Go, built around the Tars IDL and the broader Tars ecosystem (service registry, config center, logging, monitoring). It's a production-grade microservice backbone if you're already bought into the Tars platform — and a poor fit if you're not.
The toolchain is complete: tars2go generates typed client/server stubs from .tars IDL files, and there's a protobuf bridge (pb2tarsgo) if your team is already on proto. Load balancing has four real strategies — round-robin, random, mod-hash, and consistent-hash — wired in at the selector layer, not bolted on. OpenTelemetry and Zipkin integrations exist as first-class contrib packages, not afterthoughts. The framework handles connection pooling, graceful shutdown, and stat reporting to the Tars platform out of the box.
This is essentially unusable without the rest of the Tars infrastructure (TarsFramework, the registry, node agent). There's no standalone mode — you either run the full platform or you're fighting the framework. Documentation is sparse in English; most of the real docs are in Chinese at an external URL and the README barely explains the architecture. The build tooling leans on Makefiles and a CMake-based deployment system that feels out of place in a Go project. Commit activity has been inconsistent, with gaps of months; the last few releases have been maintenance-level, not feature-driven.