A Go framework for rapid development of API services and microservices with a layered architecture.
Eagle is a Go framework designed for rapid business development, enabling developers to quickly build robust API services or web applications. It provides a comprehensive set of components, including support for HTTP APIs with Gin and RPC services with gRPC, and follows a clean, layered architecture to streamline microservice and API development.
Go developers and teams building scalable microservices, API services, or web applications who need a production-ready framework with integrated components for data management, messaging, observability, and service discovery.
Developers choose Eagle for its opinionated, batteries-included approach that reduces boilerplate and accelerates development by integrating best-in-class libraries like GORM, Redis, Elasticsearch, and OpenTelemetry into a cohesive, modular framework with dependency injection via Wire.
🦅 A Go framework for the API or Microservice
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Eagle bundles best-in-class libraries like Gin, GORM, and OpenTelemetry, reducing boilerplate and accelerating development, as shown in its comprehensive feature list.
The framework enforces modularity with a clean separation of concerns using Wire for dependency injection, promoting maintainability in microservices.
Built-in support for Prometheus, Grafana, and OpenTelemetry provides out-of-the-box monitoring and tracing, essential for scalable systems.
The included `eagle` CLI tool generates project skeletons quickly, streamlining initial setup as demonstrated in the Quick Start section.
The opinionated architecture and numerous integrated components require significant upfront learning, especially for developers new to microservices patterns.
Being tightly coupled with specific libraries (e.g., Gin for HTTP, GORM for ORM) makes swapping alternatives difficult without framework modifications.
Managing configurations for multiple environments and integrated services can become complex, as evidenced by the detailed directory structure and config files.