GD数据流项目

来源:互联网 发布:python 灰度图转rgb 编辑:程序博客网 时间:2024/06/06 00:49

1. 两套环境,原则上数据一致,技术架构中,共用一套redis做缓存,提供服务。

    技术架构中采用缓存,主要是应对相同参数会多次请求,处理逻辑复杂、耗时长的场景,以提升响应速度。

  

   坑:请求进来后,如果命中缓存,会通过redis直接响应;

            请求数据不会落入持久层数据库,造成两套环境持久层数据库中的值差别特别大。

 
    解决方案:

            不过有没有命中缓存,请求数据都需要落入持久层,只节省调第三方服务的时间。


2.  请求逻辑负责、耗时长,需要分成多步处理请求,采用任务队列方式来异步处理请求。

    在处理任务队列中数据时,正常逻辑是:1. 先回调调用方 2.然后再把处理结果落入持久层数据库,结束处理,如果入持久层失败,则把数据重新放入任务队列。


    坑: 在数据量大的场景下,处理某些问题数据时,回调调用方成功了,但是不能正常入库,

            导致100来条数据一直循环调用对方服务,造成对方库里的数据飞速上升。


   解决方案:由于架构中必须得容许同一id多次调用对方服务,所以不能采用防重机制。

            只能通过捕捉异常,记录异常数据的标识,然后把该数据从任务队列中剔除。






         

           


0 0
原创粉丝点击