gin 和 fasthttp 哪一个好?

ciel · 2020-12-05 20:54:42 · 5541 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2020-12-05 20:54:42 的主题,其中的信息可能已经有所发展或是发生改变。

最近使用go开发一些高并发的接口,大家都推荐用gin,但是发现fasthttp性能很高,用哪一个比较好呢?


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

5541 次点击  
加入收藏 微博
5 回复  |  直到 2021-01-22 18:57:54
focusonline
focusonline · #1 · 4年之前

fasthttp不是真仙降世, 异乎寻常的快速是有代价的. 看一下这篇文章. https://cloud.tencent.com/developer/news/462918 老老实实用你的gin吧.正常使用也够了

fenglangjuxu
fenglangjuxu · #2 · 4年之前

貌似 好多框架 都是基于这个 fasthttp 开发的 要有这个bug 那不是完犊子了

18393910396
18393910396 · #3 · 4年之前

gin就很好

focusonline
focusonline · #4 · 4年之前
fenglangjuxufenglangjuxu #2 回复

貌似 好多框架 都是基于这个 fasthttp 开发的 要有这个bug 那不是完犊子了

哈哈哈, 你还别说我还真遇到过这个问题, 完犊子谈不上, 只是如果不稳定的版本放出来就会出现了.重用request是快, 但是遇到坑你就要吐了.我之前用的框架号称最快的iris就有这个问题, 后来换成gin就祝你平安了.

zzustu
zzustu · #5 · 4年之前

感觉这也不是fasthttp的问题,也不是sync.Pool的锅,就是没有用好sync.Pool而导致的并发安全问题,gin的 gin.Context 也是使用的sync.Pool, 请查看: https://github.com/gin-gonic/gin/blob/master/gin.go#L371 。fasthttp会发生,那么gin也避免不了。上一次的请求响应都结束了,fasthttp都已经把这个Ctx归还到pool里面了,而上一个请求响应创建的协程还在持有着已经归还的Ctx,就算不是 fasthttp,sync.Pool 这样用也很不规范

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传