On September 10th, a few days ago, ByteDance officially announced the open source CloudWeGo, which is a set of projects focusing on microservice communication and governance with the Go language as the core.
Currently, CloudWeGo has four project collections:
- Kitex: Kitex is the next generation of high-performance, highly scalable Golang RPC framework developed by ByteDance. In addition to rich service management features, it also integrates the self-developed network library Netpoll, supports multiple message protocols and multiple interaction methods, and provides a more flexible and extensible code generator.
- Netpoll: This is a high-performance, I/O non-blocking network framework based on Golang, focusing on RPC scenarios. It draws on the excellent design of evio and netty, has excellent performance, and is more suitable for microservice architecture.
- Thrfitgo: Thrift compiler implemented in Golang, supports plug-in mechanism, supports complete Thrift IDL syntax and complete semantic checking. Currently the backend supports Go language.
- Netpoll-http2: Based on the official HTTP2 source code, Netpoll is used to provide high-performance HTTP2 communication.
According to the person in charge of Bytedance related technology, CloudWeGo is not only an open source project, but also an enterprise-level super-scale practice project. “Through open source, we hope that CloudWeGo can enrich the Golang tool system of the cloud native community and provide more developers and enterprises. Build a cloud-native large-scale distributed system to provide a modern and resource-efficient technical solution.”
It is reported that the ByteDance infrastructure team will maintain a set of CloudWeGo code internally and externally to unify iterative evolution.