SOFAMOSN持续演进路径及实践分享无法识别协议, 断开链接 继续读取数据技术案例 – HTTP/2.0优化 官方HTTP/2.0实现问题: 1. syscall read较多,效率低下 2. 每个stream分配单独的goroutine处理, 调度开销高 3. 临时对象多,GC占比高 4. 基本实现了RFC中MUST部分,部分功 能需求上不匹配,如GRPC trailer实现技术案例 – HTTP/2.0优化 优化思路:适 implmented in Golang runtime conn goroutine conn.read conn goroutine conn.read …… 调度切换/就绪通知技术案例 – 长连接网关RawEpoll模式 RawEpoll模式:使用epoll感知到可读事件之后,再从协程池中为其分配协程进行处理。 大幅减少goroutine实例数量,从而降低内存、调度开销 Netpoll implmented implmented in Golang runtime conn.read conn …… 调度切换/就绪通知 3.请求处理过程中,协程调度 与经典netpoll模式一致 Raw Epoll goroutine pool conn.read conn 1. 链接建立后,向epoll注册oneshot 可读事件监听;并且此时不允许有协 程调用conn.read,避免与runtime netpoll冲突。0 码力 | 29 页 | 7.03 MB | 6 月前3
蚂蚁金服 API Gateway Mesh 思考与实践蚂蚁金服「三板斧」 API Gateway Mesh 落地挑战 风险 运维 性能 功能 上线不是一件容易的事 Golang 历史债清理 sian->protobuf ead->goroutine sigma 已知的风险都不是风险16/21 M O S N A P P Gateway LB Spanner x % x*(100-y) % x*y % 100-x %0 码力 | 22 页 | 1.72 MB | 6 月前3
共 2 条
- 1













