Hertz笔记|青训营笔记

114 阅读1分钟

Hertz分层设计

采用了四层分层设计,保证每个层级功能内聚,同时通过层级之间的接口达到灵活扩展的目标:

Hertz: github.com/cloudwego/h…

github.com/cloudwego/h… 几乎能够满足任意HTTP范畴内的扩展性需求。

Hertz 特点

易用性:

1.文档库丰富并持续维护更新

2.提供了Hz脚手架工具,根据接口定义(IDL)自动化生成项目骨架,帮助业务聚集核心逻辑。 (统一规范、提高效率)

扩展性:

网络层扩展

原生支持两大类

1.基于连接的网络库:CloudWeGo开源的Netpoll(不支持Windows和DOS,数据包都比较小很好用,需要大包时不好使用,大包大传输使用Golang更好一点)、Golang原生网络库net。

2.基于流的网络库:quic-go网络库

协议层扩展

支持HTTP/1.1、HTTP/2、HTTP/3、websocket、自定义协议

应用层扩展

支持pprof、gzip、i18m、

hertz协议解析比fast要好一些

高性能

依靠cloudwego抗住流量洪流

重基础,实践就会很简单,多关注GitHub,看前沿的东西,搜索引擎多搜一点

把自己代码写的足够好,开出去,让大家一起来维护

github.com/CyanAsteris…