Golang Go语言中 Snow——简单易用的业务框架
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
如果要在企业生产环境落地使用的话,建议加入一些基本的微服务治理的模块
更多关于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无疑是一个值得尝试的选择。