Snow——简单易用的Go语言业务框架
发布于 5 年前 作者 xiongwilee 4938 次浏览 来自 分享

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

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

5 回复
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

这种用法也太原始了吧

btw,有eggjs好用么?

@i5ting 除了begoo以外,golang的框架都不注重脚手架体验,很原始。 看上去功能上比eggs多很多,实现了自己的路由约定,orm。 论简洁不比eggs,论规范不及nest,处于二者之间,适合用于个人快速实现一个基于gin,gorm的项目。 顺便,期待卷二卷三

要不来玩玩我发明的小玩意,融合了php/js/go,开箱即用,啥都不用配置就具备了web服务器+数据库+缓存 https://github.com/zengming00/go-server-js

@zengming00 可以试试dukpate或者最近新出的屌屌的QuickJS做引擎

回到顶部