本项目旨在使用golang 搭建一个微服务应用。

所用技术栈

  1. gin框架 开发用
  2. consul进行服务的注册发现

代码地址

前置知识

  1. 需要有go基础
  2. 对gin框架有了解,可以看gin快速入门进行学习

架构图


gin做api和rpc的客户端 go-micro作为后台微服务

开始开发

  1. 使用go mod建立项目,首先创建一个文件夹,然后使用 go mod init projectname 初始化项目
  • 关于go module的发展可以看这 go modules前世今生
  • go mod 大概经历了 go path -> go vendor -> go mod 三个阶段
  1. 所需依赖包
1. ini:解析ini配置文件用
   -  go get -u github.com/go-ini/ini   
2. gorm   数据库调用用
    - go get -u gorm.io/gorm
    - go get -u gorm.io/driver/sqlite
3. gin  gin框架
    - go get -u github.com/gin-gonic/gin

目录结构

···
// gin
Frame
- app // 控制器
- conf // 配置文件
- middleward // 中间件
- models // 模型
- routes // 路由
- services // 服务层
- uitl // 工具
- main.go // 入口
// app 目录
app
- api
- v1
- goods.go
- v2
- route.go
- app.go

//conf目录
conf
- config.ini
models
- models.go
services
- xxxService.go
util
- config.go
···