![](http://static.javashuo.com/static/loading.gif)
Snow
Snow是一套簡單易用的Go語言業務框架,總體邏輯設計簡潔,支持HTTP服務、隊列調度和任務調度等經常使用業務場景模式。git
Goals
咱們致力於讓PHPer更方便地切入到Go語言開發,在業務框架選擇上貼合PHP主流框架的設計思想,以更低的學習成本快速熟悉框架,致力於業務邏輯的開發。github
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.12redis
Installation
cd $GOPATH/src
cd my-github/my-space
git clone git@github.com/qit-team/snow.git my-project
cd my-project
sh build/shell/replace.sh my-github/my-space/my-project
Build & Run
sh build/shell/build.sh
build/bin/snow
Test demo
curl "http://127.0.0.1:8000/hello" #返回json串輸出
Documents