GF(Go Frame)
是一款模块化、高性能、生产级的Go基础开发框架。实现了比较完善的基础设施建设以及开发工具链,提供了常用的基础开发模块,如:缓存、日志、队列、数组、集合、容器、定时器、命令行、内存锁、对象池、配置管理、资源管理、数据校验、数据编码、定时任务、数据库ORM、TCP/UDP组件、进程管理/通信等等。并提供了Web服务开发的系列核心组件,如:Router、Cookie、Session、Middleware、服务注册、模板引擎等等,支持热重启、热更新、域名绑定、TLS/HTTPS、Rewrite等特性。
如果您初识
Go
语言,您可以将GoFrame
类似于PHP
中的Laravel
,Java
中的SpringBoot
或者Python
中的Django
。
特点
- 模块化、松耦合设计;
- 模块丰富、开箱即用;
- 简便易用、易于维护;
- 高代码质量、高单元测试覆盖率;
- 社区活跃,大牛谦逊低调脾气好;
- 详尽的开发文档及示例;
- 完善的本地中文化支持;
- 设计为团队及企业使用;
地址
安装
go get -u -v github.com/gogf/gf
推荐使用
go.mod
:
require github.com/gogf/gf latest
限制
golang版本 >= 1.11
模块
核心模块
GoFrame
提供了一些基础的、常用的模块,简单、易用和轻量级,并保持极少的外部依赖,这些模块由gf
主仓库细致维护。社区模块
社区模块主要由社区贡献并维护,大部分也是由
gf
主仓库的贡献者提供及维护,存放于gogf
空间下,与gf
主仓库处于同一级别。有的社区模块是从gf
主仓库中剥离出来单独维护的模块,这些模块并不是特别常用,或者对外部依赖较重。
架构
性能
以下是目前最流行的WEB Server
Golang框架/类库性能测试结果。
性能测试用例源代码仓库: https://github.com/gogf/gf-performance
环境:
OS : Ubuntu 18.04 amd64
CPU : AMD A8-6600K x 4
MEM : 32GB
GO : v1.13.4
工具
ab
: Apache HTTP server benchmarking tool.
测试命令:
ab -t 10 -c 100 http://127.0.0.1:3000/hello
ab -t 10 -c 100 http://127.0.0.1:3000/query?id=10000
ab -t 10 -c 100 http://127.0.0.1:3000/json
并发客户端数量从 100
递增到 10000
。
每个项目的每个用例均运行
5
次,取最优的结果展示。
1. Hello World
Throughputs | Mean Latency | P99 Latency |
---|---|---|
2. Json Response
Throughputs | Mean Latency | P99 Latency |
---|---|---|
帮助
- QQ交流群:116707870
- WX交流群:微信添加
389961817
备注GF
加群 - 主库ISSUE:https://github.com/gogf/gf/issues
建议通过阅读
GoFrame
的源码以及API文档深度学习GoFrame
,了解更多的精妙设计。
协议
GF
使用非常友好的 MIT
开源协议进行发布,永久100%
开源免费。
用户
由于商标版权缘故,未经厂商商务部授权允许无法用于宣传展示。
贡献
感谢所有参与GoFrame
开发的贡献者。 [贡献者列表].
捐赠
如果您喜欢GF
,要不给开发者来杯咖啡吧!
请在捐赠时备注您的github
/gitee
账号名称。
赞助
赞助支持GF
框架的快速研发,如果您感兴趣,请联系 微信 389961817
/ 邮件 john@goframe.org 。