A cloud-native microservice framework for Go with built-in resilience, observability, and traffic management features.
Go-Chassis is a cloud-native microservice framework for Go that provides a rich ecosystem for building resilient, observable, and manageable distributed applications. It solves the complexity of integrating cross-cutting concerns like circuit breaking, load balancing, and tracing by offering them as built-in, protocol-independent features. The framework focuses on helping developers deliver microservices more easily with a flexible, pluggable architecture.
Go developers and teams building cloud-native microservices who need production-ready resilience, observability, and traffic management without piecing together multiple libraries. It's also suitable for organizations adopting service mesh patterns or integrating with Spring Cloud ecosystems.
Developers choose Go-Chassis for its powerful handler chain middleware that cleanly decouples cross-cutting concerns, its protocol-agnostic design that brings consistent features across HTTP and gRPC, and its built-in production features like traffic management and hot re-configuration that reduce integration overhead.
a cloud native application framework for Go with rich eco-system
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
The handler chain cleanly separates cross-cutting concerns like circuit breaking and tracing from business logic, enabling easier maintenance and testing, as emphasized in the README's examples for auditing and metrics.
Supports HTTP and gRPC with a standardized invocation model, allowing features like load balancing and circuit breaking to work consistently across protocols, reducing integration work.
Offers retry, rate limiting, client-side load balancing, and circuit breaking out of the box, helping services handle unpredictable failures without external libraries.
Powered by go-archaius, configurations for load balancing and circuit breaking can be reloaded at runtime without service restarts, enhancing operational flexibility.
The framework requires understanding concepts like handler chains and dynamic configuration, and the README notes examples are migrating, which can hinder onboarding.
Heavy integration with Apache ServiceComb (e.g., service center, mesher) and Huawei's tools may limit flexibility for teams preferring neutral or more widely adopted solutions.
Documentation is external and fragmented, with examples in transition, potentially causing hurdles for debugging or advanced use cases compared to more established frameworks.