zoukankan      html  css  js  c++  java
  • 系统预警、刹车

    背景

    有个定时任务在跑,会call api更新一些产品的价格信息,正常逻辑是如果api没有返回产品的价格,直接下架这个产品即可。

    目前怕api不稳定定时任务会误下架一些产品,导致大面积的故障(定时任务是批量在更新),所以就算api没有返回价格,也不会自动下架这个产品,只是价格不准确,会设置个标识,当用户点击这种产品的时候,再次请求价格api,如果还是没有价格,告知用户这个产品售罄,自动下架这个产品---产品的下架数量从批量变成了用户的点击

    问题

    上面的方案虽然解决了大面积故障的可能性,但是用户体验不好,总有一些产品总是告诉用户售罄。

    解决-预警

    在定时任务获取不到价格的时候直接下架产品。但是做预警:

    • 当下架比例达到一定比例时候,直接邮件或者短信预警相关负责人。

    进一步思考

    定时任务一般是在晚上执行,当api不稳定故障,大面积无法返回价格,就算有预警,有时候不一定能及时进行处理,当发现的时候已经有大量产品被下架,恢复也需要一定的时间,这样就产生了故障。

    刹车

    基于上面的问题,再做一个刹车逻辑:

    • 当下架比例达到一定阈值的时候,则停止关闭,回到文章开始,让用户自己去点击后下架。

    总结

    这样最终解决了产品下架的及时性,另外在极端情况下(api不稳定的时候)也不会产生大面积误操作故障。

  • 相关阅读:
    Struts2 helloWorld
    Python学习笔记基础汇总部分
    从控制台读入,典型的装饰者模式
    随机数产生方法小知识点
    Struts2基础知识
    面向对象原则之GOF是招式,九大原则才是精髓
    静态工厂方法
    单例模式singleton
    J2SE基础夯实系列之JDBC,链接数据库实例代码
    Ubuntu 12.04 下安装ssh 服务遇到的问题以及总结
  • 原文地址:https://www.cnblogs.com/Brake/p/12764417.html
Copyright © 2011-2022 走看看