Snow--简单易用的Go业务框架

Snow

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
  • Global environment configure (Linux/Mac)
export GO111MODULE=on
export GOPROXY=https://goproxy.io

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"  #返回json串输出

Documents

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,161评论 1 32
  • 在iOS中框架是一个目录,包含了共享资源库,用于访问该资源库中储存的代码的头文件,以及图像、声音文件等其他资源。共...
    wo不懂阅读 1,524评论 3 3
  • 1、绿蚁新醅酒,红泥小火炉,晚来天欲雪,能饮一杯无? —— 白居易《问刘十九》 2、银烛秋光冷画屏,轻罗小扇扑流萤...
    青森先生阅读 1,019评论 0 0
  • 当“总有一天”话语刚落,就变成了“以后”;错过了遗失,遇见了相知,经历了否极泰来,方知不忘初衷的有始有终。 父母之...
    笨鱼也想飞阅读 264评论 0 1
  • “……那么,这怎么会呢?我与你不见才多久?怎么就不记得你了啊?有那么的一段时间,我是觉得你很眼熟的,可就是想不起来...
    绕飞阅读 143评论 0 3