Snow简单易用的 Go 语言业务框架
Snow 是一套简单易用的 Go 语言业务框架,整体逻辑设计简洁,支持 HTTP 服务、队列调度和任务调度等常用业务场景模式。
Goals
我们致力于让PHPer更方便地切入到Go语言开发,在业务框架选择上贴合PHP主流框架的设计思想,以更低的学习成本快速熟悉框架,致力于业务逻辑的开发。
Features
- HTTP服务:基于gin进行模块化设计,简单易用、核心足够轻量;支持平滑重启;
- 任务调度:基于cron进行模块化设计,简单易用;
- 队列调度:基于自研的高性能队列调度服务worker,通用的Queue接口化,解耦队列调度与底层队列驱动;支持平滑关闭;
- Cache: 通用的缓存接口化设计,核心组件实现了插件式的redis驱动支持,可扩展;
- Database: 使用成熟的ORM库,有丰富的数据库驱动支持和特性;
- Queue: 通用的接口化设计,框架实现了redis、alimns作为队列底层驱动,支持可扩展;
- Config: 采用toml语义化的配置文件格式,简单易用;
- Logger: 基于logrus进行封装,内嵌上下文通用数据采集和trace_id追踪;
- Request and Response:定义输入和输出数据实体格式;
- Curl: 简单易用的Curl请求库;
- 脚手架:方便快捷的创建新项目,可一键升级;
Quick start
Requirements
Go version>=1.12
Installation
go get -u github.com/qit-team/snow/tool/snow cd $GOPATH/src snow new snow-demo
Build & Run
cd snow-demo sh build/shell/build.sh build/bin/snow
Test demo
curl "http://127.0.0.1:8000/hello"
Documents
Contributors
- Tinson Ho (@tinson)
- ACoderHIT
- xiongwilee (@xiongwilee)
- KEL (@deathkel)
- peterwu
评论