sdgmf / go-project-sample

Introduce the best practice experience of Go project with a complete project example.通过一个完整的项目示例介绍Go语言项目的最佳实践经验.
Apache License 2.0
529 stars 102 forks source link
best best-practice consul dashboard dependency-injection example gin golang gorm grafana grpc inject jaeger micro microservice opentracing practice prometheus sample wire

通过一个完整的项目的示例,从项目的结构、分层思想、依赖注入、错误处理、单元测试、服务治理、框架选择等方面介绍Go语言项目的最佳实践经验. 项目分为products、details、ratings、reviews四个微服务,依赖关系如下.

dependency

准备

安装docker,go,jsonnet

快速开始

下载项目

    git clone https://github.com/sdgmf/go-project-sample.git
    cd go-project-sample
    git submodule init
    git submodule update
    make docker-compose

截图

Grafana Dashboard,可以自动生成!

dashboard

dashboard1

Prometheus Alert 监控告警,自动生成!

alert

alert

调用链跟踪

jaeger

jaeger

更新更新更新

中文文档

更新更新更新