流式 http client 关注度不高,朋友们帮提提建议

2019-12-10 09:04:22 +08:00
 guonaihong

疑惑

下面聊的是 gout,gout 是 go 里面第一个流式 http client。下面是 feaute 列表,数据编解码这块基本做到极致,引入流式概念,既可以 core 很小巧,组合起来也很强大(benchmark 是第一个 filter 函数)。为啥关注度不高?还有哪些需要完善的地方?

feature

项目地址

https://github.com/guonaihong/gout

演示

3805 次点击
所在节点    程序员
27 条回复
matepi
2019-12-10 15:00:34 +08:00
主要还是流式调试起来反人类……自己小玩玩可以,大逻辑项目不敢上
lishunan246
2019-12-10 15:08:27 +08:00
@guonaihong 在什么场景下你的 gout 比标准库和 fasthttp 更爽更快?
guonaihong
2019-12-10 18:46:22 +08:00
@stanlry gout 实现的代码现在已经比 go-resty 多,很多功能 gout 有,go-resty 没有,全面超越还是有可能的。go-resty 的立意还是很不错的,不是 python 的 request 的搬砖项目。可惜作者没有好好设计。
guonaihong
2019-12-10 18:52:06 +08:00
@lishunan246 抱歉,我上面说的快是开发效率。这点应该没有争议。
标准库里面的 net/http 至今也没有项目可以撼动其地位。fasthttp 支持 http2 还没成功,作者已经去玩时序数据库了。。。
guonaihong
2019-12-10 19:09:46 +08:00
@PiersSoCool 这里面的问题其实很好回答,我讲下自己的事情,以前我们 http server 都是基于标准库的,后面尝试 gin 确实可以提高开发效率就慢慢铺开,在用的过程就提提 pr 优化下。用标准库开发绝对问题,但是开发效率不是最优解。这需要你那么自己权衡。这对于选择任何开源项目都适用。
guonaihong
2019-12-10 19:11:00 +08:00
@PiersSoCool 忽略上一条,看这条。这里面的问题其实很好回答,我讲下自己的事情,以前我们 http server 都是基于标准库的,后面尝试 gin 确实可以提高开发效率就慢慢铺开,在用的过程就提提 pr 优化下。用标准库开发绝对很难遇到问题,但是开发效率不是最优解。这需要你那么自己权衡。这对于选择任何开源项目都适用。
guonaihong
2019-12-10 19:19:29 +08:00
@python 字符编码不会做,这个点能不到极致,就给更喜欢这点的童鞋做。gout 只做作者能轻松 hold 得住的点,有问题可以快速解决,保守估计再撸 2-3w 行代码还是可以驾驭得住的。

批量 url 和重试我一直不想加。重试在我遇到的项目里面没有 fast fail 策略来的好使。有兴趣的话,可以在 gout 的 issue 上面一起讨论下。
guonaihong
2019-12-17 22:14:42 +08:00
@python 带指数回退的 重试功能已加
https://github.com/guonaihong/gout#retry
欢迎试用。至于你提的别的一些功能,在未来在版本也可能实现

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/627472

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX