大量调用微信公众号 API 用什么方案最高效 每小时 1000 万次 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
chijince

大量调用微信公众号 API 用什么方案最高效 每小时 1000 万次

  •  
  •   chijince 2020 年 9 月 17 日 4870 次点击
    这是一个创建于 2045 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有没有什么云产品或者某些方案可以高效地帮助我来做这些事情吗?

    多个公众号需要推送消息给用户,每调用一次 API 接口可推送一次。每小时需要 1000 万次。

    用户的 openid 都可以存储在本地服务器的数据库中。

    20 条回复    2020-09-17 23:06:57 +08:00
    shoaly
        1
    shoaly  
       2020 年 9 月 17 日
    算了一下 2800/秒 的并发, 估计没人愿意帮你发, 只能自己来搞. 多弄几台电脑开多线程搞, 到最后应该性能都不是问题, 看主机上封不封你了
    lozt
        2
    lozt  
       2020 年 9 月 17 日
    你是走群发还是啥?这个调用量是不是都已经超过微信的 Api 调用频次限制了呀
    securityCoding
        3
    securityCoding  
       2020 年 9 月 17 日
    @shoaly 关键在于微信是否允许 ,这个没什么内部业务逻辑并发不是问题,前面挂一个 mq 做分发即可
    sujin190
        4
    sujin190  
       2020 年 9 月 17 日   1
    微信 API 请求延时基本低于 200ms,这样算不到 600 并发就够了,8 核 cpu 的话一台机器都可以轻松搞定,别用多线程,异步 io 啥得库搞一个 600 并发并不算啥,微信正常发的话,估计也不会封你,但是吧 1000 万每小时,总用户得多大啊,要是乱发垃圾营销消息的话,投诉人数达到一定量肯定分分钟被封号了
    secretman
        5
    secretman  
       2020 年 9 月 17 日
    肯定是搞事!
    heyjei
        6
    heyjei  
       2020 年 9 月 17 日   1
    放到消息队列里,用多进程去取就可以了啊。

    公众号的 app key,用户的 openid,要发送的消息,一股脑的放进队列里,发送进程读队列就可以了,不要再读数据库取 openid 了。

    队列用 kafka 啥的,一台机器要是发送进程太多达到了网络瓶颈了,就再开一台机器,多起几个发送进程。只要把队列和发送分开,就可以起无限多个发送进程了。不过你这么大的数据还真没搞过。
    frankly123
        7
    frankly123  
       2020 年 9 月 17 日
    方糖?
    zoharSoul
        8
    zoharSoul  
       2020 年 9 月 17 日
    异步非阻塞发不就完事了. 600 并发轻轻松松啊
    passerbytiny
        9
    passerbytiny  
       2020 年 9 月 17 日 via Android
    公众号推送,难道不是一个公众号调用一个接口就能推送给所有用户,就算是分组推送也就多调几个接口。你这是多少公众号才能达到 1 小时千万次的接口调用量。
    hafuhafu
        10
    hafuhafu  
       2020 年 9 月 17 日
    接口不是有每日限额吗,平摊下来能让你调用这么多次吗?
    chijince
        11
    chijince  
    OP
       2020 年 9 月 17 日
    @passerbytiny 不是一个公众号 是很多的公众号 平均下来速度要达到每小时 1000 万的推送效率。多个任务并行。
    BoarBoar
        12
    BoarBoar  
       2020 年 9 月 17 日
    这一看就是去搞事的,很遗憾微信也不傻,接口有每日限额的
    reus
        13
    reus  
       2020 年 9 月 17 日
    你先了解下微信平台的规则,再来谈效率,不合规的使用方式,再高效也没用

    当然微信是可以单独谈限额的,但看来你也不是那样的大客户
    locoz
        14
    locoz  
       2020 年 9 月 17 日 via Android
    看到这操作我第一个想到的是垃圾号群+客服消息推文章…调 API 的话其实没啥难度,拿 Python 写都能随便跑个几千并发,关键还是微信那边的限制和你这边上行带宽够不够的问题。
    involvements
        15
    involvements  
       2020 年 9 月 17 日
    消息放列队,+ SCF
    xiaofan2
        16
    xiaofan2  
       2020 年 9 月 17 日
    老哥你思想很危险
    NakeSnail
        17
    NakeSnail  
       2020 年 9 月 17 日
    楼主可能做的是公众号第三方平台吧
    daxiongz
        18
    daxiongz  
       2020 年 9 月 17 日
    你这么发 要被封的
    huayumo
        19
    huayumo  
       2020 年 9 月 17 日
    这样的话,不如自己做个客户端来推送消息,用微信服务这么大的量.估计要和微信沟通
    chijince
        20
    chijince  
    OP
       2020 年 9 月 17 日
    @daxiongz 不是发广告 通知类型 现在一天 1000 万没事 也不是一个公众号发
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1119 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 92ms UTC 18:12 PVG 02:12 LAX 11:12 JFK 14:12
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86