Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sdgmf/go-project-sample
Introduce the best practice experience of Go project with a complete project example.通过一个完整的项目示例介绍Go语言项目的最佳实践经验.
https://github.com/sdgmf/go-project-sample
best best-practice consul dashboard dependency-injection example gin golang gorm grafana grpc inject jaeger micro microservice opentracing practice prometheus sample wire
Last synced: 5 days ago
JSON representation
Introduce the best practice experience of Go project with a complete project example.通过一个完整的项目示例介绍Go语言项目的最佳实践经验.
- Host: GitHub
- URL: https://github.com/sdgmf/go-project-sample
- Owner: sdgmf
- License: apache-2.0
- Created: 2019-07-26T07:29:03.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-01-25T09:17:56.000Z (about 1 year ago)
- Last Synced: 2025-01-25T05:06:56.711Z (13 days ago)
- Topics: best, best-practice, consul, dashboard, dependency-injection, example, gin, golang, gorm, grafana, grpc, inject, jaeger, micro, microservice, opentracing, practice, prometheus, sample, wire
- Language: Go
- Homepage:
- Size: 531 KB
- Stars: 534
- Watchers: 17
- Forks: 104
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
通过一个完整的项目的示例,从项目的结构、分层思想、依赖注入、错误处理、单元测试、服务治理、框架选择等方面介绍Go语言项目的最佳实践经验.
项目分为products、details、ratings、reviews四个微服务,依赖关系如下.![dependency](https://sdgmf.github.io/images/goproject_dep.jpg)
## 准备
安装docker,go,[jsonnet](https://jsonnet.org/)
## 快速开始
下载项目
```bash
git clone https://github.com/sdgmf/go-project-sample.git
cd go-project-sample
git submodule init
git submodule update
make docker-compose
```* **访问接口**: http://localhost:8080/product/1
* **consul**: http://localhost:8500/
* **grafana**: http://localhost:3000/
* **jaeger**: http://localhost:16686/search
* **Prometheus**: http://localhost:9090/graph
* **AlertManager**: http://localhost:9093## 截图
Grafana Dashboard,可以自动生成!
![dashboard](./doc/images/grafana_dashboard.jpg)
![dashboard1](./doc/images/grafana_dashboard1.jpg)
Prometheus Alert 监控告警,自动生成!
![alert](./doc/images/alert.jpg)
![alert](./doc/images/alert1.jpg)
调用链跟踪
![jaeger](./doc/images/jaeger.jpg)
![jaeger](./doc/images/jaeger1.jpg)
更新更新更新
## [中文文档](https://sdgmf.github.io/goproject/)更新更新更新