【Github】项目名:qit – team/snow:简洁易用的Go业务框架
项目简介
Snow是一套用Go语言编写的业务框架,它整体逻辑设计简洁,支持如HTTP服务、队列调度、任务调度和脚本任务等多种常用业务场景模式。该框架有着诸多特点,如HTTP服务基于gin模块化设计且轻量易用还支持平滑重启;任务调度基于cron模块化设计;队列调度基于自研高性能服务且接口通用可解耦等。
项目目的
致力于让PHPer更方便地切入到Go语言开发,在业务框架选择上贴合PHP主流框架的设计思想,以降低学习成本,从而让开发者能快速熟悉框架并专注于业务逻辑的开发。
核心技术
- HTTP服务:基于gin进行模块化设计,具备简单易用、核心轻量的特性,并且支持平滑重启。
- 任务调度:基于cron进行模块化设计,易于使用。
- 队列调度:基于自研的高性能队列调度服务worker,通过通用的Queue接口化,解耦队列调度与底层队列驱动,支持平滑关闭。
- Cache:采用通用的缓存接口化设计,核心组件实现了插件式的redis驱动支持,具备可扩展性。
- Database:使用成熟的ORM库,有丰富的数据库驱动支持和特性。
- Queue:通用的接口化设计,框架实现了redis、alimns作为队列底层驱动,支持可扩展。
- Config:采用toml语义化的配置文件格式,简单易用。
- Logger:基于logrus进行封装,内嵌上下文通用数据采集和trace_id追踪。
- Request and Response:定义输入和输出数据实体格式。
- Curl:简单易用的Curl请求库。
- 脚手架:方便快捷的创建新项目,可一键升级。
项目总结
qit – team/snow是一个功能丰富且设计简洁的Go业务框架,无论是从对PHPer转向Go开发的支持,还是框架自身的多种功能特性方面都表现出色。欢迎大家在评论区留言分享对这个项目的看法或者提出问题。