README ¶ 通过一个完整的项目的示例,从项目的结构、分层思想、依赖注入、错误处理、单元测试、服务治理、框架选择等方面介绍Go语言项目的最佳实践经验. 项目分为products、details、ratings、reviews四个微服务,依赖关系如下. 准备 安装docker,go,jsonnet 快速开始 下载项目 git clone https://github.com/xiaoJack/GraphQL-Golang.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,可以自动生成! Prometheus Alert 监控告警,自动生成! 调用链跟踪 中文文档 Expand ▾ Collapse ▴ Directories ¶ Show internal Expand all Path Synopsis api proto cmd details command graphQL command products command ratings command reviews command internal app/details app/details/controllers app/details/grpcservers app/details/repositories app/details/services app/graphQL app/graphQL/controllers app/graphQL/generated app/graphQL/grpcclients app/graphQL/services app/products app/products/controllers app/products/grpcclients app/products/services app/ratings app/ratings/controllers app/ratings/grpcservers app/ratings/repositories app/ratings/services app/reviews app/reviews/controllers app/reviews/grpcservers app/reviews/repositories app/reviews/services pkg/app pkg/config pkg/consul pkg/database pkg/jaeger pkg/log pkg/models pkg/transports/grpc pkg/transports/http pkg/transports/http/middlewares/ginprom pkg/utils/netutil mocks Click to show internal directories. Click to hide internal directories.