finds.dev← search

// the find

cloudwego/kitex

★ 7,971 · Go · Apache-2.0 · updated Jun 2026

Go RPC framework with high-performance and strong-extensibility for building micro-services.

Kitex is ByteDance's internal Go RPC framework, open-sourced via CloudWeGo. It replaces the standard net stack with their own Netpoll library for better I/O throughput and supports Thrift, Protobuf, and gRPC in a single framework with a full service-governance layer built in. It's aimed at teams running large microservice meshes who need more control than gRPC-go gives them out of the box.

1. Netpoll integration is the real differentiator — epoll-based, avoids goroutine-per-connection, measurably faster under high concurrency than standard net. The benchmark repo backs this up with numbers rather than marketing claims. 2. Generic call support lets you invoke RPC endpoints without generated client code, which is genuinely useful for API gateways and debugging tooling. 3. The middleware/suite extension model is well-designed — circuit breaker, rate limiter, retry, and tracing all compose cleanly through the same pipeline. 4. Active changelog going back to v0.10 with clear version-by-version diffs, and the codebase has solid test coverage including integration tests with mocked transport layers.

1. Thrift is first-class; gRPC/Protobuf support feels bolted on. The 'Kitex Protobuf' protocol is a custom hybrid that breaks compatibility with standard gRPC tooling — you'll hit this the moment you try to use off-the-shelf proto tooling. 2. The kitex-contrib extension ecosystem is fragmented and uneven — some modules are maintained, some are stale, and there's no signal in the README about which extensions are production-ready vs experimental. 3. Windows support is explicitly limited (platform-specific files in internal/client and internal/server suggest Netpoll doesn't fully work on Windows), which matters if your dev machines don't match your Linux deploy target. 4. Documentation is written in Chinese first; the English translations lag behind and several tutorials still point to concepts or APIs that have since changed across the 16+ version history.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →