Fly-小学妹都喜欢的Go后端项目

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: Fly-小学妹都喜欢的Go后端项目

背景


有个漂亮的小学妹要写毕设, 找我帮忙搭个架子, 于是…

ec499c635baa4893b06baf22791c70b3.png


它来了它来了, 分享下自己写的Go后端项目, 封装了一些(db, socket等)常用的组件, 开箱即用, 纵享丝滑!


任何问题, 建议或者需求都欢迎提 issues, 有问必回! 感谢star!


github地址


gitee地址


项目结构


参考 Go程序布局

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

优雅的代码

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

gofmt

goimports


技术选型

web框架

iris 号称最快的Web框架

rpc

grpc

socket

gorilla

mysql

gorm

clickhouse

dbr

es

elastic

mongo

mongo

redis

redis

mq

amqp

log

zap

config

viper

启动方式

命令行启动

go run cmd/app/main.go


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


相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
4月前
|
JSON 运维 Go
Go 项目配置文件的定义和读取
Go 项目配置文件的定义和读取
|
29天前
|
Go API 数据库
Go 语言中常用的 ORM 框架,如 GORM、XORM 和 BeeORM,分析了它们的特点、优势及不足,并从功能特性、性能表现、易用性和社区活跃度等方面进行了比较,旨在帮助开发者根据项目需求选择合适的 ORM 框架。
本文介绍了 Go 语言中常用的 ORM 框架,如 GORM、XORM 和 BeeORM,分析了它们的特点、优势及不足,并从功能特性、性能表现、易用性和社区活跃度等方面进行了比较,旨在帮助开发者根据项目需求选择合适的 ORM 框架。
76 4
|
29天前
|
存储 JSON Go
如何在 Go 项目中隐藏敏感信息,比如避免暴露用户密码?
在Go语言开发中,用户信息管理常涉及敏感数据如密码的处理。为防止这些数据暴露给客户端,本文介绍了三种方法:使用JSON标签忽略字段、自定义序列化逻辑、使用数据传输对象(DTO),以确保用户数据的安全性。通过这些方法,可以有效控制数据输出,避免敏感信息泄露。
31 1
|
29天前
|
中间件 Go API
Go语言中几种流行的Web框架,如Beego、Gin和Echo,分析了它们的特点、性能及适用场景,并讨论了如何根据项目需求、性能要求、团队经验和社区支持等因素选择最合适的框架
本文概述了Go语言中几种流行的Web框架,如Beego、Gin和Echo,分析了它们的特点、性能及适用场景,并讨论了如何根据项目需求、性能要求、团队经验和社区支持等因素选择最合适的框架。
70 1
|
2月前
|
SQL 关系型数据库 MySQL
Go语言项目高效对接SQL数据库:实践技巧与方法
在Go语言项目中,与SQL数据库进行对接是一项基础且重要的任务
89 11
|
2月前
|
Go
使用go语言将A助手加入项目中
使用go语言将A助手加入项目中
25 2
|
2月前
|
算法 Java Linux
java制作海报五:java 后端整合 echarts 画出 折线图,项目放在linux上,echarts图上不显示中文,显示方框口口口
这篇文章介绍了如何在Java后端整合ECharts库来绘制折线图,并讨论了在Linux环境下ECharts图表中文显示问题。
47 1
|
2月前
|
前端开发 Java Shell
后端项目打包上传服务器部署运行记录
后端项目打包上传服务器部署运行记录
47 0
|
2月前
|
存储 Kubernetes Go
Go语言项目组织架构
Go语言项目组织架构
|
4月前
|
存储 运维 小程序
后端开发零负担!揭秘支付宝小程序云开发的高效与安全,你的项目也能飞速上线?
【8月更文挑战第27天】支付宝小程序云开发是由阿里云提供的集成开发环境,助力开发者高效、安全地构建小程序后端服务,免去服务器搭建,显著提高开发效率并降低运维成本。它集成了云函数、云数据库及云存储等功能,便于快速搭建后端逻辑。例如,仅需简单几行代码即可创建HTTP接口或进行数据管理。这使得开发者能更专注于业务逻辑和用户体验优化,同时平台还提供了强大的安全保障措施,确保数据安全和用户隐私。无论对于初创团队还是成熟企业,支付宝小程序云开发都能有效提升产品迭代速度和市场竞争力。
95 1
下一篇
DataWorks