Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

GF(Go Frame)是一款模块化、高性能、生产级的Go基础开发框架。实现了比较完善的基础设施建设以及开发工具链,提供了常用的基础开发模块,如:缓存、日志、队列、数组、集合、容器、定时器、命令行、内存锁、对象池、配置管理、资源管理、数据校验、数据编码、定时任务、数据库ORM、TCP/UDP组件、进程管理/通信等等。并提供了Web服务开发的系列核心组件,如:Router、Cookie、Session、Middleware、服务注册、模板引擎等等,支持热重启、热更新、域名绑定、TLS/HTTPS、Rewrite等特性。

如果您初识Go语言,您可以将GoFrame类似于PHP中的Laravel, Java中的SpringBoot或者Python中的Django

特点

  • 模块化、松耦合设计;
  • 模块丰富、开箱即用;
  • 简便易用、易于维护;
  • 高代码质量、高单元测试覆盖率;
  • 社区活跃,大牛谦逊低调脾气好;
  • 详尽的开发文档及示例;
  • 完善的本地中文化支持;
  • 设计为团队及企业使用;

地址

安装

copy
go get -u -v github.com/gogf/gf

推荐使用 go.mod:

copy
require github.com/gogf/gf latest

限制

copy
golang版本 >= 1.11

架构

模块

  1. 核心模块

    GoFrame提供了一些基础的、常用的模块,简单、易用和轻量级,并保持极少的外部依赖,这些模块由gf主仓库细致维护。

  2. 社区模块

    社区模块主要由社区贡献并维护,大部分也是由gf主仓库的贡献者提供及维护,存放于gogf空间下,与gf主仓库处于同一级别。有的社区模块是从gf主仓库中剥离出来单独维护的模块,这些模块并不是特别常用,或者对外部依赖较重。

性能

以下是目前最流行的WEB Server Golang框架/类库性能测试结果。 性能测试用例源代码仓库: https://github.com/gogf/gf-performance

环境:

copy
OS   : Ubuntu 18.04 amd64
CPU  : AMD A8-6600K x 4
MEM  : 32GB
GO   : v1.13.4

工具

ab: Apache HTTP server benchmarking tool.

测试命令:

copy
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

ThroughputsMean LatencyP99 Latency
Image AddedImage AddedImage Added

2. Json Response

ThroughputsMean LatencyP99 Latency
Image AddedImage AddedImage Added

帮助

建议通过阅读GoFrame的源码以及API文档深度学习GoFrame,了解更多的精妙设计。

协议

GF 使用非常友好的 MIT 开源协议进行发布,永久100%开源免费。

用户

在这里只列举了部分知名的用户,如果您的企业或者产品正在使用GoFrame,欢迎到 这里 留言。

贡献

感谢所有参与GoFrame开发的贡献者。 [贡献者列表].

Image Added

捐赠

如果您喜欢GF,要不给开发者来杯咖啡吧! 请在捐赠时备注您的github/gitee账号名称。

赞助

赞助支持GF框架的快速研发,如果您感兴趣,请联系 微信 389961817 / 邮件 john@goframe.org

感谢

JetBrainsImage Added