技术学习总结 04 | 青训营

57 阅读1分钟

HTTP出现的背景:

image.png

一、走进HTTP协议

①   HTTP协议的定义

HTTP:超文本传输协议(Hypertext Transfer Protocol)

②   HTTP协议里有什么

image.png

③   请求流程

业务层→服务治理层&中间件层→路由层→协议编(解)码层→传输层

image.png

④   不足与展望

HTTP1:队头阻塞、传输效率低、明文传输不安全

HTTP2:多路复用、头部压缩、二进制协议

QUIC:基于UDP实现、解决队头阻塞、加密减少握手次数、支持快速启动

二、HTTP框架的设计与实现

①   应用层设计(API设计):①可理解性 ②简单性 ③冗余性 ④兼容性 ⑤可测性 ⑥可见性

②   中间件设计(洋葱模型):适用场景:日志记录、性能统计、安全控制、事务处理、异常处理

image.png

③   路由设计(前缀匹配树):框架路由实际上就是为URL匹配对应的处理函数(Handlers)

如何做设计:①明确需求 ②业界调研 ③方案权衡 ④方案评审 ⑤确定开发

④   协议层设计:抽象出合适的接口

⑤   网络层设计(网络模型)

三、性能修炼之道与企业实践

①   针对网络库的优化(buffer解析)

两种不同网络库的优势:

(1)       go net:流式友好、小包性能高

(2)       netpoll:中大包性能高、时延低

②   针对协议的优化(Headers解析、Header key规范化、热点资源池化)

image.png

追求性能 、 追求易用,减少误用 、 打通内部生态 、 文档建设 、 用户群建设