Skip to content

Latest commit

 

History

History
142 lines (100 loc) · 4.17 KB

readme.md

File metadata and controls

142 lines (100 loc) · 4.17 KB

Welcome To Fly

GitHub GitHub last commit GitHub Repo stars

简介

一个简单而优雅的后端项目, 封装常用数据库组件及应用示例, 助力后端人员快速开发

个人博客

项目结构

参考 Go程序布局

├── build               // 打包/集成
|  ├── app              // 应用程序名
|  |  ├── Dockerfile    // 集成的配置/脚本
├── cmd                 // 可执行目录
|  ├── app              // 应用程序名
|  |  ├── main.go       // 入口文件
├── configs             // 配置文件
|  ├── config.json      
├── doc                 // 项目文档
├── example             // 示例目录
├── internal            // 私有程序
|  ├── api              // 接口
|  ├── config           // 配置文件解析
|  ├── constvar         // 常量
|  ├── domain           // 表结构
|  ├── httpcode         // 请求处理组件
|  ├── kit              // 公用逻辑函数
|  └── monitor          // 监控定时服务相关
|  └── rpc              // rpc
├── logs                // 日志存放
├── pkg                 // 安全导入的包(可以被任何项目直接导入使用)
|  ├── clickhouse       // ck组件
|  ├── email            // 邮件组件
|  ├── es               // es组件
|  ├── kafka            // kafka组件
|  ├── jwt              // jwt组件
|  ├── libs             // 封装的公用方法
|  ├── logging          // 日志组件
|  ├── mongo            // mongo组件
|  └── mq               // mq组件
|  └── mysql            // mysql组件
|  └── redis            // redis组件
|  └── safego           // 安全运行组件
|  └── ws               // socket组件
├── .dockerignore       // docker忽略文件    
├── .gitignore          // git忽略文件    
├── go.mod              // 包管理    
├── README.md

优雅的代码

请先参阅一遍官方的代码规范指南

gofmt

goimports

技术选型

web框架

gin

rpc

grpc

socket

gorilla

mysql

gorm

clickhouse

dbr

es

elastic

kafka

kafka-go

mongo

mongo

redis

redis

mq

amqp

log

zap

config

viper

启动方式

请先复制 configs 目录下的配置文件, 并修改为自己的配置

命令行启动

go run cmd/app/main.go -config ./configs/config.yml

Docker启动

docker build -f build/app/Dockerfile -t fly:v1.0.0 .
docker run --rm -it -p 8888:8888 -p 9999:9999 --name fly fly:v1.0.0