gf/README.MD

4.7 KiB
Raw Blame History

GoFrame

Go Doc Build Status Go Report Code Coverage Production Ready License

English | 简体中文

GF(GoFrame) is a modular, powerful, high-performance and production-ready application development framework of golang. Providing a series of core components and dozens of practical modules, such as: cache, logging, containers, timer, resource, validator, database orm, etc. Supporting web server integrated with router, cookie, session, middleware, logger, configure, template, https, hooks, rewrites and many more features.

If you're a newbie to Go, you may consider GoFrame easy and great as Laravel in PHP, SpringBoot in Java or Django in Python.

Installation

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

suggested using go.mod:

require github.com/gogf/gf latest

Limitation

golang version >= 1.11

Packages

  1. Primary Package

    The gf repository maintains some basic and most commonly used packages, keeping it as lightweight and simple as possible.

  2. Community Package

    The community packages are contributed and maintained by community members, which are stored in gogf organization. Some of the community packages are separated from the gf repository, which are not of common usage or are with heavy dependencies.

Architecture

Performance

Here's the most popular Golang frameworks and libraries performance testing result in WEB Server. Performance testing cases source codes are hosted at: https://github.com/gogf/gf-performance

Environment

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

Testing Tool

ab: Apache HTTP server benchmarking tool.

Command:

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

The concurrency starts from 100 to 10000.

Run 5 times for each case of each project and pick up the best testing result.

1. Hello World

Throughputs Mean Latency P99 Latency

2. Json Response

Throughputs Mean Latency P99 Latency

Documentation

Discussion

It's recommended learning GoFrame through its awesome source codes and API reference.

License

GF is licensed under the MIT License, 100% free and open-source, forever.

Contributors

This project exists thanks to all the people who contribute. [Contributors].

Thanks

JetBrains