V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
xiaoshouchen
V2EX  ›  问与答

Golang 开发 Web 做发送短信、调用 API 之类的耗时用协程还是用 MQ?

  •  
  •   xiaoshouchen · 2021-03-05 15:52:34 +08:00 · 952 次点击
    这是一个创建于 1152 天前的主题,其中的信息可能已经有所发展或是发生改变。
    • 语言:Golang
    • 框架:Gin
      我在用 Gin 写 web 的时候,经常会遇到一些发送短信之类的操作,以前写 PHP 的时候一般都是写入消息队列,然后有一个常驻内容的程序去消费掉。 但感觉 golang 开一个协程去发送短信也挺好,所以请教 Golang 做 web 开发处理一些不需要返回,后台做的耗时任务,到底使用协程解决还是用 MQ 去解决?
    5 条回复    2021-03-05 16:43:27 +08:00
    TypeError
        1
    TypeError  
       2021-03-05 16:06:39 +08:00
    看量级吧 如果用户量、发送消息数量巨大还是 MQ 加单独服务比较好
    如果数量级很小那直接协程就完事了
    xiaoshouchen
        2
    xiaoshouchen  
    OP
       2021-03-05 16:06:40 +08:00
    求大神告知
    sujin190
        3
    sujin190  
       2021-03-05 16:24:52 +08:00   ❤️ 1
    非常建议用队列,虽然协程性能完全够,但是不能重入啊,重启崩溃啥的都坑死个人
    xiaoshouchen
        4
    xiaoshouchen  
    OP
       2021-03-05 16:35:17 +08:00
    @TypeError 感谢指点
    hahasong
        5
    hahasong  
       2021-03-05 16:43:27 +08:00
    1L 正解 。小于千万级都可以用协程发,需要进度管理控制结果搜集之类的强需求再考虑 MQ
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2056 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 01:37 · PVG 09:37 · LAX 18:37 · JFK 21:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.