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,看前沿的东西,搜索引擎多搜一点
把自己代码写的足够好,开出去,让大家一起来维护