这是我参与「第五届青训营 」伴学笔记创作活动的第 18 天
1.复习已学知识
- 复习如何内存分配和对编译器的优化
- 复习Go框架三件套中的Gorm框架和Kitex框架
2.继续观看录播Go框架三件套详解(Web/RPC/ORM)
Hertz框架
众所周知,HTTP 协议是当今使用最为广泛的协议之一,HTTP 是前(客户)端与服务端通信的基础协议。HTTP 框架负责的就是对 HTTP 请求的解析、根据对应的路由选择对应的后端逻辑了,HTTP 在企业实际业务场景中使用广泛。 而Hertz是一个用于 Go的高性能、高可用性、可扩展的HTTP 框架。它旨在为开发人员简化构建微服务。
Hertz基本使用
快速上手Hertz
- 首先,定义 IDL,这里使用 Thrift 作为 IDL 的定义(也支持使用 Protobuf 定义的 IDL),编写一个名为 Demo 的 service。这个服务有一个 API: Hello,它的请求参数是一个 query,响应是一个包含一个 RespBody 字段的 Json。
接下来我们使用 hz 生成代码,并整理和拉取依赖
填充业务逻辑,比如我们返回 hello, ${Name},那我们在 biz/handler/example/hello_service.go 中添加以下代码即可
编译并运行项目
到现在一个简单的 Hertz 项目已经生成,下面我们来测试一下
补充小知识:
- 什么是路由:路由 : 说白了就是一一对应关系的集合
专业解释就是路由是指导报文转发的路径信息,通过路由可以确认转发IP报文的路径。 路由设备是依据路由转发报文到目的网段的网络设备,最常见的路由设备:路由器。 路由设备维护着一张路由表,保存着路由信息。
路由中包含以下信息: 目的网络:标识目的网段 掩码:与目的地址共同标识一个网段 出接口:数据包被路由后离开本路由器的接口 下一跳:路由器转发到达目的网段的数据包所使用的下一跳地址 这些信息标识了目的网段、明确了转发IP报文的路径。
前端路由(单页应用程序): 一个url地址,对应哪个组件
后端路由:一个接口地址,对应哪一段接口地址
至于直连路由,静态路由动态路由那些路由获取信息方式这里不再赘述。
- 那视频中提到的路由组又是什么:顾名思义,从字面意思理解,路由组指的就是一组路由。 那么什么样的路由可以归类到一组呢? 在实际使用中,比较常见的场景的是根据版本分组。