成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

字節(jié)跳動 Golang 微服務 HTTP 框架 Hertz

開發(fā) 前端
Hertz[h??ts] 是一個 Golang 微服務 HTTP 框架,在設計之初參考了其他開源框架 fasthttp、gin、echo 的優(yōu)勢, 并結合字節(jié)跳動內部的需求,使其具有高易用性、高性能、高擴展性等特點,目前在字節(jié)跳動內部已廣泛使用。

最近在研究字節(jié)、嗶哩嗶哩等開源技術的Golang框架,發(fā)現(xiàn)字節(jié)開源的Golang 微服務 HTTP 框架Hertz,用起來相對舒服很多。

為什么選擇 Hertz

Hertz[h??ts] 是一個 Golang 微服務 HTTP 框架,在設計之初參考了其他開源框架 fasthttp、gin、echo 的優(yōu)勢, 并結合字節(jié)跳動內部的需求,使其具有高易用性、高性能、高擴展性等特點,目前在字節(jié)跳動內部已廣泛使用。

如今越來越多的微服務選擇使用 Golang,如果對微服務性能有要求,又希望框架能夠充分滿足內部的可定制化需求,Hertz 會是一個不錯的選擇。

架構設計架構設計

同時,也對Hertz做了高性能方面的對比

Hertz 默認使用自研的高性能網(wǎng)絡庫 Netpoll,在一些特殊場景相較于 go net,Hertz 在 QPS、時延上均具有一定優(yōu)勢。關于性能數(shù)據(jù),可參考下圖 Echo 數(shù)據(jù)。

四個框架的對比

三個框架的對比:三個框架的對比:

框架特點

高易用性

在開發(fā)過程中,快速寫出來正確的代碼往往是更重要的。因此,在 Hertz 在迭代過程中,積極聽取用戶意見,持續(xù)打磨框架,希望為用戶提供一個更好的使用體驗,幫助用戶更快的寫出正確的代碼。

高性能

Hertz 默認使用自研的高性能網(wǎng)絡庫 Netpoll,在一些特殊場景相較于 go net,Hertz 在 QPS、時延上均具有一定優(yōu)勢。關于性能數(shù)據(jù),可參考下圖 Echo 數(shù)據(jù)。

高擴展性

Hertz 采用了分層設計,提供了較多的接口以及默認的擴展實現(xiàn),用戶也可以自行擴展。同時得益于框架的分層設計,框架的擴展性也會大很多。

多協(xié)議支持

Hertz 框架原生提供 HTTP1.1、ALPN 協(xié)議支持。除此之外,由于分層設計,Hertz 甚至支持自定義構建協(xié)議解析邏輯,以滿足協(xié)議層擴展的任意需求。

網(wǎng)絡層切換能力

Hertz 實現(xiàn)了 Netpoll 和 Golang 原生網(wǎng)絡庫 間按需切換能力,用戶可以針對不同的場景選擇合適的網(wǎng)絡庫,同時也支持以插件的方式為 Hertz 擴展網(wǎng)絡庫實現(xiàn)。

Hertz

官網(wǎng)地址:https://www.cloudwego.io/zh/docs/hertz/

圖片圖片

官方介紹:

Hertz [h??ts] 是一個 Golang 微服務 HTTP 框架,具有高易用性、高性能、高擴展性等特點。

demo演示

  1. 準備 Golang 開發(fā)環(huán)境
  2. 如果您之前未搭建 Golang 開發(fā)環(huán)境,可以參考 Golang 安裝。推薦使用最新版本的 Golang,或保證現(xiàn)有 Golang 版本 >= 1.16。小于 1.16 版本,可以自行嘗試使用但不保障兼容性和穩(wěn)定性。
  3. 確保打開 go mod 支持 (Golang >= 1.15 時,默認開啟)。
  4. 完成安裝后,你可能需要設置一下國內代理:go env -w GOPROXY=https://goproxy.cn。

目前,Hertz 支持 Linux、macOS、Windows 系統(tǒng)。

快速開發(fā)實踐

在完成環(huán)境準備后,可以按照如下操作快速啟動 Hertz Server:

  1. 在當前目錄下創(chuàng)建 hertz_demo 文件夾,進入該目錄中。
  2. 創(chuàng)建 main.go 文件。
  3. 在 main.go 文件中添加以下代碼。
package main

import (
 "context"

 "github.com/cloudwego/hertz/pkg/app"
 "github.com/cloudwego/hertz/pkg/app/server"
 "github.com/cloudwego/hertz/pkg/common/utils"
 "github.com/cloudwego/hertz/pkg/protocol/consts"
)

func main() {
 h := server.Default()

 h.GET("/ping", func(ctx context.Context, c *app.RequestContext) {
  c.JSON(consts.StatusOK, utils.H{"message": "pong"})
 })

 h.Spin()
}

圖片圖片

  1. 生成 go.mod 文件。
go mod init hertz_demo
  1. 整理 & 拉取依賴。
go mod tidy
  1. 運行示例代碼。
go run hertz_demo

如果成功啟動,你將看到以下信息:

PS D:\wx_vagrant\www\cloudwego\hertz\hertz_demo> go run hertz_demo
2024/11/07 10:01:48.832771 engine.go:669: [Debug] HERTZ: Method=GET    absolutePath=/ping                     --> handlerName=main.main.func1 (num=2 handlers)
2024/11/07 10:01:48.849373 engine.go:397: [Info] HERTZ: Using network library=standard
2024/11/07 10:01:48.852301 transport.go:65: [Info] HERTZ: HTTP server listening on address=[::]:8888

接下來,我們可以對接口進行測試:

curl http://127.0.0.1:8888/ping

如果不出意外,我們可以看到類似如下輸出:

{"message":"pong"}

圖片圖片

參考鏈接:https://www.cloudwego.io/zh/docs/hertz

責任編輯:武曉燕 來源: 程序員千羽
相關推薦

2024-11-13 11:02:03

微服務框架項目

2024-11-08 13:04:08

項目Hertz接口

2022-06-22 06:49:39

Hertz開源HTTP 框架

2022-10-14 14:44:04

字節(jié)跳動ByteTechHTTP 框架

2022-05-17 17:18:40

Kite字節(jié)跳動微服務框架

2022-11-24 09:01:26

HTTPHertz架構

2021-09-09 09:05:30

開源字節(jié)跳動CloudWeGo

2024-08-20 09:59:22

2024-12-23 00:22:55

2022-08-25 18:48:29

字節(jié)跳動CSS開源

2023-04-19 16:51:54

分布式Primus開源

2024-09-25 15:57:56

2018-12-17 16:44:49

Golang微服務

2018-12-17 16:39:20

Golang微服務

2018-12-17 16:48:05

Golang微服務

2019-05-21 14:01:17

RPC框架Http

2023-10-18 11:56:17

開源AI

2021-01-29 10:33:34

存儲

2020-11-27 10:50:06

微服務架構框架

2021-03-02 16:25:52

微服務架構技術
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美国产精品 | 亚洲精品电影在线观看 | 一级一级一级毛片 | 欧美日韩专区 | 国偷自产av一区二区三区 | 亚洲一区二区三区四区五区午夜 | 欧美在线二区 | 免费网站国产 | 成人一区二区电影 | 国产av毛片 | 免费观看一区二区三区毛片 | av在线免费观看网站 | 国外激情av| 日韩综合网 | 欧美视频精品 | 天天操天天干天天爽 | 久久婷婷国产 | 日本成人三级电影 | 国产不卡一 | 在线中文字幕日韩 | 精品不卡 | 涩爱av一区二区三区 | 亚洲风情在线观看 | 日韩欧美中文字幕在线观看 | 久久夜夜 | 久久国产精品免费一区二区三区 | 午夜影视| 中文字幕一二三区 | 免费观看一级特黄欧美大片 | av香蕉| 国产1区2区3区| 精品国产伦一区二区三区观看说明 | 久久久久久免费精品一区二区三区 | 黄色毛片一级 | 色婷婷综合久久久中字幕精品久久 | 国产成人精品高清久久 | 日韩美香港a一级毛片免费 国产综合av | 亚洲视频欧美视频 | 欧美成人手机在线 | 欧美狠狠操 | 亚洲网站在线播放 |