1、项目目录设计

前言

本项目我们将会完成一个Go项目开发框架,该项目不会包含具体的CRUD业务代码,而是从头搭建一个工作中实用的开发框架。让开发者能够熟悉整个项目的搭建流程,能够独立完成项目从0到1的搭建,而且后续业务项目都可以复用该框架快速进入需求开发。

一、项目目录设计

一个Web应用基本都会包含以下的基础模块:

  1. 项目配置,一般都是yaml文件,是全项目启动时就需要加载的相关信息
  2. Web模块(HTTP模块、RPC模块、Task定时任务模块)
  3. 数据库(MySQLRedis)
  4. 缓存模块(CacheRedis),Cache指本地缓存,通常用于定时加载一些元信息配置。
  5. 日志模块(请求日志,应用日志),请求日志为调用链路日志,一般是内嵌设置的,用户不用手动记录,而应用日志则指的是开发人员在业务开发中主动调用logs.CtxInfo,logs.CtxError等记录的日志。
  6. 应用指标(metrics、 PProf),用于打点和监控
  7. 其它(链路追踪,服务注册发现)

该项目会完成上述1-5部分,完成后,目录结构大体如下:
在这里插入图片描述

为了能够更清楚的看清层级,目录树如下

D:\GOCODE\WEB-TPL-MASTER
├─.idea
├─app   # 当前web应用
│  ├─core  # 项目基础核心,包含配置文件对应的结构体,MySQL,Redis,log等连接初始化与管理
│  │  ├─config
│  │  ├─db
│  │  ├─log
│  │  ├─redis
│  │  └─valid
│  ├─http   # http服务,包含路由,中间件,模型管理等
│  │  ├─controllers
│  │  │  ├─home
│  │  │  │  └─params
│  │  │  ├─qrcode
│  │  │  └─user
│  │  ├─middleware
│  │  │  └─logger
│  │  ├─models
│  │  └─routes
│  ├─svc  # service逻辑层,处理业务逻辑,下面一个前端页面对应一个文件夹
│  │  └─home
│  └─utils # 工具包 运行环境(IP,机房等)获取,请求与响应的封装
│      ├─env
│      ├─r
│      └─rsp
└─config # yaml配置文件管理
    └─env

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值