猿问

golang 获取http多个请求响应

问题描述

最近在开发一个代理API项目中遇到一个问题,从上游请求中获取请求参数,请求参数包含多中类型的http请求,然后并发请求这些请求,获取响应报文,返回给上游请求 。

问题出现的环境背景及自己尝试过哪些方法

由于涉及到的流量有点大,原生的net/http库可能不满足性能要求,因为net/http接收一个请求后,需要开启一个协程处理它,当流量一旦,服务器会抗不住,目前我使用的fasthttp,fasthttp开启的是协程池,方便接收从上游来的HTTP请求,然后解析出上游请求的参数,提取需要代理发送的请求url1、url2、url3、... 、urln , 然后并发的发送这些请求。目前我遇到的问题是,设计一个协程池,从协程池中取协程,来出来处理这些请求,并获取每个请求的响应结果。这里涉及到一个问题,从上游接收http的协程,需要等待这些子URL获取到结果后,才能返回,写入响应报文,回复上游请求 。

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

你期待的结果是什么?实际看到的错误信息又是什么?


暮色呼如
浏览 2217回答 1
1回答
随时随地看视频慕课网APP

相关分类

Html5
我要回答