返回排行榜

go-eagle/eagle

Gogo-eagle.dev

🦅 A Go framework for the API or Microservice

gogingormmicroservicegolangeaglecloud-nativeframeworkhttprestfulgrpc
Star 增长趋势
Star
2.4k
Forks
259
周增长
Issues
15
1k2k
2019年5月2021年9月2024年2月2026年7月
制品库Go Modulesgo get github.com/go-eagle/eagle
README

🦅 eagle

GitHub Workflow Status codecov GolangCI godoc Gitter OpenTracing Badge Go Report Card gitmoji License

A Go framework suitable for rapid business development, which can quickly build API services or Web sites.
English | 中文文档

Features

Framework Layered Architecture

eagle-framework-diagram

Logic Layered Architecture

Eagle utilizes a classic layered structure and employs the Wire dependency injection framework to enhance modularity and reduce coupling between components.

Leagle Layout Arch

Directory Structure

eagle-layout/
├── api/                  # proto files and service interface definitions
│   ├── helloworld/       # example or basic service proto definitions
│   └── user/             # user-related proto definitions
├── bin/                  # compiled binary files
├── cmd/                  # service entry points, main.go and startup logic
│   ├── server/           # main service entry
│   ├── consumer/         # message consumer service entry
│   └── gen/              # code generation entry
├── config/               # configuration files for multiple environments
├── deploy/               # deployment files, e.g. Dockerfile, K8s configs
├── internal/             # internal implementation, not for external use
│   ├── dal/              # data access layer
│   │   ├── db/           # database related code
│   │   │   ├── model/    # data model definitions
│   │   │   ├── method/   # custom query methods
│   │   │   └── query/    # gorm/gen generated query methods
│   │   ├── cache/        # cache related code
│   │   └── rpc/          # RPC/HTTP client code
│   ├── ecode             # define error code
│   ├── handler           # receive user request
│   ├── repository/       # repository layer, wraps data access interfaces
│   ├── routers/          # route and middleware registration
│   ├── service/          # business logic layer
│   └── event/subscribe/  # event subscription, e.g. MQ handlers
├── logs/                 # log output directory
├── scripts/              # script files
├── third_party/          # third-party dependencies or proto files
├── .github/              # GitHub workflows
├── .gitignore            # Git ignore file
├── CHANGELOG.md          # changelog
├── LICENSE               # license
├── Makefile              # build, test, code generation commands
├── README.md             # project documentation
└── openapi.yaml          # OpenAPI specification file                     

Installtion CLI

GOPROXY="https://goproxy.cn,direct"

# go >= 1.16
go install github.com/go-eagle/eagle/cmd/eagle@latest

# go < 1.16
go get github.com/go-eagle/eagle/cmd/eagle

Quick Start

# gen a server with http and gRPC
eagle new eagle-demo
# or 
eagle new github.com/foo/eagle-demo

# install dependence
go mod tidy

# run
make run

Documentation

https://go-eagle.org/

CHANGELOG

Who is using

Discussion

Microservice Roadmap

Microservice-roadmap

Contributing

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  • Fork the repository to your own GitHub account.
  • Create a new branch for your changes.
  • Make your changes to the code.
  • Commit your changes and push the branch to your forked repository.
  • Open a pull request on our repository.

Stargazers over time

Stargazers over time

License

MIT. See the LICENSE file for details.

相关仓库
avelino/awesome-go

A curated list of awesome Go frameworks, libraries and software

GoGo ModulesMIT Licensegolanggolang-library
awesome-go.com
178.9k13.4k
ollama/ollama

Get up and running with Kimi-K2.6, GLM-5.2, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other models.

GoGo ModulesMIT Licensellamallm
ollama.com
176.7k17.1k
golang/go

The Go programming language

GoGo ModulesBSD 3-Clause "New" or "Revised" Licenseprogramming-languagelanguage
go.dev
135.3k19.3k
kubernetes/kubernetes

Production-Grade Container Scheduling and Management

GoGo ModulesApache License 2.0kubernetesgo
kubernetes.io
123.9k43.8k
fatedier/frp

A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.

GoGo ModulesApache License 2.0proxyreverse-proxy
108.3k15.1k
gohugoio/hugo

The world’s fastest framework for building websites.

GoGo ModulesApache License 2.0gohugo
gohugo.io
89.1k8.3k
gin-gonic/gin

Gin is a high-performance HTTP web framework written in Go. It provides a Martini-like API but with significantly better performance—up to 40 times faster—thanks to httprouter. Gin is designed for building REST APIs, web applications, and microservices.

GoGo ModulesMIT Licenseservermiddleware
gin-gonic.com
88.9k8.6k
syncthing/syncthing

Open Source Continuous File Synchronization

GoGo ModulesMozilla Public License 2.0synchronizationgo
syncthing.net
86.8k5.4k
junegunn/fzf

:cherry_blossom: A command-line fuzzy finder

GoGo ModulesMIT Licensefzfgo
junegunn.github.io/fzf/
81.9k2.8k
grafana/grafana

The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.

TypeScriptnpmGNU Affero General Public License v3.0grafanamonitoring
grafana.com
75.7k14.3k
caddyserver/caddy

Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS

GoGo ModulesApache License 2.0goweb-server
caddyserver.com
74.3k4.8k
moby/moby

The Moby Project - a collaborative project for the container ecosystem to assemble container-based systems

GoGo ModulesApache License 2.0dockercontainers
mobyproject.org
71.9k19k