Snow
Snow – это набор простых и удобных в использовании бизнес-фреймворков на языке Go. Общий логический дизайн прост и поддерживает распространенные бизнес-сценарии, такие как служба HTTP, планирование очередей и планирование задач.
Goals
Мы стремимся упростить для PHPer вхождение в разработку языка Go в соответствии с идеями дизайна основных фреймворков PHP при выборе бизнес-фреймворков, а также быстро ознакомиться с фреймворком с меньшими затратами на обучение и стремимся к развитие бизнес-логики.
Features
- Служба HTTP: на основеginМодульная конструкция, простота использования, достаточно легкое ядро, поддержка плавного перезапуска;
- Планирование задач: на основеcronМодульная конструкция, проста в использовании;
- Планирование очередей: на основе собственной разработки службы планирования очередей.worker, через интерфейс Queue, отделить планирование очереди и базовый драйвер очереди, поддерживать плавное завершение работы;
- Кэш: универсальный дизайн интерфейса, платформа реализует Redis в качестве базового драйвера кэша и поддерживает расширяемость;
- База данных: использовать зрелыеORMБиблиотеки с богатой поддержкой и функциями на основе баз данных;
- Очередь: универсальный дизайн интерфейса, платформа реализует redis и alimns в качестве основного драйвера очереди и поддерживает расширяемость;
- Конфигурация: использоватьtomlСемантический формат файла конфигурации, простой в использовании;
- Регистратор: на основеlogrusИнкапсуляция, встроенный сбор общих данных контекста и отслеживание trace_id;
- Запрос и ответ: определяют формат объектов входных и выходных данных;
- 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串输出