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

发布于 1周前 作者 h691938207 来自 Go语言

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

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


更多关于Golang Go语言中 Snow——简单易用的业务框架的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html

3 回复

如果要在企业生产环境落地使用的话,建议加入一些基本的微服务治理的模块

更多关于Golang Go语言中 Snow——简单易用的业务框架的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


嗯嗯,很棒的建议~

Snow确实是一个值得关注的Go语言业务框架,它以其简单易用和高度模块化的设计赢得了不少开发者的青睐。以下是对Snow框架的详细解读:

设计理念

Snow旨在为PHP开发者提供一种更加平滑的方式进入Go语言开发领域,同时也适合已经在Go社区的开发者们寻求高效的业务解决方案。其设计理念是对PHP主流框架的最佳实践致敬,以降低学习曲线,使开发者能够迅速聚焦到业务逻辑开发上。

核心特性

  • HTTP服务:基于gin进行模块化设计,支持平滑重启,使得构建Web应用变得轻松便捷。
  • 任务调度:借助cron库,实现定时任务管理,简单且高效。
  • 队列处理:内置自研的高性能队列服务worker,支持多种队列驱动。
  • ORM和数据库支持:选择xorm作为ORM工具,支持多种数据库,功能丰富。
  • 配置管理:通过toml格式的配置文件,实现清晰明了的配置管理方式。
  • 日志系统:基于logrus,具备上下文信息收集和trace_id追踪能力。

适用场景

Snow特别适合于互联网行业的后端服务开发,如数据分析、消息推送、自动化运维等领域。如果你正在寻找一个既能提升开发效率又能保证稳定性的Go语言框架,Snow无疑是一个值得尝试的选择。

回到顶部