V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
571726193
V2EX  ›  Java

一天两问!第二问, MQ 的问题!

  •  
  •   571726193 · 2019-09-27 16:44:17 +08:00 · 3805 次点击
    这是一个创建于 1890 天前的主题,其中的信息可能已经有所发展或是发生改变。
    业务场景:之前也发过,就是我司是做微信三方平台对接的,商户可以通过我们的平台快速创建小程序,部分主要业务需要用到商户授权之后的一个 token ,官方微信表明 7200s 有效,当时考虑到以后平台可能会有多个商户,既然有多个商户肯定对应的就有多个 token,就没有考虑用定时任务去做刷新,用的延时队列,队列长度限制是多大,目前不到 10 个商户,很少,看似不影响啥。网上也了解了一点,会有队列溢出的情况,所以请教一下各位带佬,如何解决此类问题。或者不用队列,用到了直接去微信哪里掉接口去拿?但是这个不是影响主线程的响应时间吗?
    4 条回复    2019-09-27 18:12:46 +08:00
    mxy940127
        1
    mxy940127  
       2019-09-27 16:50:41 +08:00
    acess_token 建议专门做一个缓存服务维护 用到就调接口获取的话 使用量上来以后 会超过上限
    571726193
        2
    571726193  
    OP
       2019-09-27 16:59:12 +08:00
    @mxy940127 现在 mq 用的不太熟练,不敢上,我的意思是 存 reids 里 时间短一点,取不到了再去 微信那边调。感觉这样比用 mq 稳一点
    zhady009
        3
    zhady009  
       2019-09-27 17:45:45 +08:00
    吐槽一下这微信的 token 有效期也太短了吧

    我一般是这样做的 用户登陆完 存放 token 信息到表中 或者 update 一下

    然后放入 redis 中 调用微信 api 前从缓存获取过期时间 过期了就 refresh 一下

    refresh token 也过期了就让商户重新登录 这个自己看着办

    再弄个定时任务 刷新一天内即将过期的 token

    其实要不要刷新 token 主要是看用户长期不登录了 你还要不要从他那边获取一些数据

    不然你就让他用的时候保证有效就行了
    571726193
        4
    571726193  
    OP
       2019-09-27 18:12:46 +08:00
    @zhady009 谢谢老哥
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2642 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 01:54 · PVG 09:54 · LAX 17:54 · JFK 20:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.