.NetCore框架Surging系列(二)HTTP

Surging系列(二)HTTP

流程有点复杂,结合流程看代码吧

HTTP初始化

Surging初始化不仅仅是只初始化HTTP,还有注册中间件、RPC、WebSocket等,而HTTP初始化最终调用的是Surging.Core.KestrelHttpServer中方法StartAsync

HTTP监听

Surging.Core.KestrelHttpServer中方法StartAsync,在这个方法中可以设置Kestrel配置,设置静态资源等

介绍目录.NetCore框架Surging系列(二)HTTP

内存泄漏

HTTP存在内存泄漏,最开始完成用户登录接口后测试,请求接口超过1w内存几百M,10w两个G,起先以为是代码有问题,删了所有扩展的代码,跑到了300w,照样内存飙升,并且不会回收。可以参考我另外一篇
Web服务稳定性测试 负载测试 可靠性测试 方案 测试报告
取消Surging生命周期管理机制,下面是改的地方之一
.NetCore框架Surging系列(二)HTTP
这里改过好几次,这里是把HTTP放到最后面,不然会阻塞进程(RPC无法启动监听),当然有其他的方法可以告诉我,没有花大量时间去读IServiceEngineLifetime相关的代码
.NetCore框架Surging系列(二)HTTP

流程

有点长,慢慢看
.NetCore框架Surging系列(二)HTTP