Snow——簡單易用的Go語言業務框架

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

相關文章
相關標籤/搜索