这是我参与「第三届青训营 -后端场」笔记创作活动的的第2篇笔记
目录:
1.再谈HTTP协议
2.HTTP框架的设计与实现
3.性能修炼之道
4.企业实践
1.再谈HTTP协议
1)HTTP协议的故事
HTTP:超文本传输,即除了文本的传输之外,还能有图片、音频、视频等媒介的传输。
2)为什么需要协议?
实际上,我们传输的都是01数据流,协议的规范能帮我们更加好地解析这些数据。
3)协议里有什么?
元数据:类似对数据的补充描述
3)请求流程
4)不足与展望
HTTP 框架的设计与实现
2.1 分层设计
2.2 应用层设计
面向用用户的,要提供合理的API
ps:不要试图在文档中说明,很多用户不看文档 23333
2.4 路由设计
2.5 协议层设计
1.抽象出合适的接口
2.6 网络层设计
BIO/NIO
1.BIO:会阻塞的 2.NIO:读到一定的数据,然后进行业务逻辑,避免读了一半卡在那里。
go net: BIO 用户管理buffer netpoll:NIO 网络库管理buffer buffer(缓冲区):缓冲区的作用也是用来临时存储数据,可以理解为是I/O操作中数据的中转站。
2.7 总结
3.框架的优化
3.1针对网络库的优化
绑定缓存区(大小要合适)
3.2 Headers优化
SIMD加速,并行查找headers的边界
3.4 热点资源池化
企业实践
追求性能
追求易用,减少误用
打通内部生态
文档建设,用户群建设