Go的框架三件套之Hertz | 青训营笔记

173 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第7天

HTTP

超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出;而 [9]  消息内容则具有一个类似MIME的格式。这个简单模型是早期Web成功的有功之臣,因为它使开发和部署非常地直截了当。HTTP 是前(客户)端与服务端通信的基础协议。HTTP 框架负责的就是对 HTTP 请求的解析、根据对应的路由选择对应的后端逻辑了,HTTP 在企业实际业务场景中使用广泛。

Hertz框架

Hertz是一个用于 Go的高性能高可用性可扩展的HTTP 框架。它旨在为开发人员简化构建微服务。

Hertz基本使用

image.png

上手Hertz

  1. 首先,定义 IDL,这里使用 Thrift 作为 IDL 的定义(也支持使用 Protobuf 定义的 IDL),编写一个名为 Demo 的 service。这个服务有一个 API: Hello,它的请求参数是一个 query,响应是一个包含一个 RespBody 字段的 Json。

image.png

接下来我们使用 hz 生成代码,并整理和拉取依赖

image.png

填充业务逻辑,比如我们返回 hello, ${Name},那我们在 biz/handler/example/hello_service.go 中添加以下代码即可

image.png

编译并运行项目

ZWlSP2B5Zq.jpg 到现在一个简单的 Hertz 项目已经生成

TJOidr2yg7.jpg

三个框架参考资料链接:GORM 指南 | GORM - The fantastic ORM library for Golang, aims to be developer friendly.

RPC框架:从原理到选型,一文带你搞懂RPC (qq.com)

代码示例 | CloudWeGo

字节跳动开源 Go HTTP 框架 Hertz 设计实践 - OSCHINA - 中文开源技术交流社区