Go-Fiber框架

简介

中文文档

Fiber 是一个受到 Express 启发的 Web 框架,基于使用 Go 语言编写的最快的 HTTP 引擎 Fasthttp 构建。旨在通过零内存分配和高性能服务,使快速开发更加简便。

安装

go get -u github.com/gofiber/fiber/v2
package main

import "github.com/gofiber/fiber/v2"

func main() {
    app := fiber.New()

    app.Get("/", func(c *fiber.Ctx) error {
        return c.SendString("Hello, World 👋!")
    })

    app.Listen(":3000")
}

FastHttp 

fasthttp 是一个用 Go 语言编写的高性能 HTTP 服务器和客户端库,相比于 Go 内置的 net/http 包,它在性能上有一定的优势。以下是一些可能的原因:

  1. 内存分配:fasthttp 在处理请求时采用了零内存分配策略,尽量避免额外的内存分配和垃圾回收压力。它使用了一种基于栈的内存池技术,减少了内存分配和垃圾回收的开销,从而提高了性能。

  2. 并发处理:fasthttp 使用了 goroutine 和事件循环机制,能够高效处理并发请求。它采用了更轻量级的线程模型,能够更好地利用多核处理器的计算能力。

  3. 请求解析:fasthttp 使用了更快速和高效的请求解析算法,能够更快地解析并处理 HTTP 请求。它避免了一些不必要的字符串操作和正则表达式匹配,提高了解析性能。

  4. 零拷贝技术:fasthttp 在发送响应时采用了零拷贝技术,减少了数据的拷贝操作。它将响应数据直接从内存缓冲区发送到套接字,避免了额外的数据拷贝,提高了性能。

  5. 高度优化的网络栈:fasthttp 在网络栈的设计和实现上进行了优化,以提高网络请求的处理效率。它使用了非阻塞 I/O 和事件驱动的方式进行网络通信,充分发挥了操作系统和网络设备的性能。
  6. fasthttp 使用的是非阻塞 I/O 模型,相比于 Go 内置的 net/http 使用的阻塞 I/O 模型,fasthttp 在性能上有一定的优势。

 

posted @ 2023-07-23 10:53  GJH-  阅读(202)  评论(0编辑  收藏  举报