V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
wilee

Snow——简单易用的 Go 语言业务框架

  •  
  •   wilee · Jul 8, 2019 · 3649 views
    This topic created in 2485 days ago, the information mentioned may be changed or developed.

    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 [email protected]/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

    2 replies    2019-07-09 14:18:40 +08:00
    zhangtao
        1
    zhangtao  
       Jul 8, 2019
    如果要在企业生产环境落地使用的话,建议加入一些基本的微服务治理的模块
    hetiansu5
        2
    hetiansu5  
       Jul 9, 2019
    @zhangtao 嗯嗯,很棒的建议~
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5643 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 711ms · UTC 08:30 · PVG 16:30 · LAX 01:30 · JFK 04:30
    ♥ Do have faith in what you're doing.