文档章节

Redis实现优先级队列

Mr_Qi
 Mr_Qi
发布于 2017/09/05 13:02
字数 312
阅读 279
收藏 6

背景

基于目前系统中存在部分异步需求,比如导入或者新开客户车辆匹配Vin码等

实现思路

  1. redis中使用列表作为队列 最关键提供了阻塞版本的指令BLPOP
  2. 新建三个队列对应高中低优先级 比如f6car_high f6car_mid f6_car_low 再新建deadletter列表  failLetter列表
  3. 当有任务发出根据优先级放入不同的队列中 比如
  4.   
  5. 此时消费者收到对应请求 
  6. 为避免出现错误 比如处理该请求失败 直接将对应的请求重新投递到对应的failLetter列表中(也可以区分优先级)===》这部分可以手工处理或者二次处理直到不OK(策略可以自己定义)
  7. 定义序列化对象 包含如下属性 

    属性名称

    属性类型

    属性描述

    说明

    docType String 类型,处理对应的类型,比如VIN 对应doctype的listener处理,如果失败丢入failLetter,如果没有对应type丢入deadLetter
    mqBean Disturbable 对应对象,比如VinMqBean 封装vin码 业务对象(实现指定接口)
    disturbateTime long 时间 投递时间
    from String 来源系统  
  8. 定义Listener来监听处理 

© 著作权归作者所有

共有 人打赏支持
Mr_Qi

Mr_Qi

粉丝 280
博文 359
码字总数 369228
作品 0
南京
程序员
私信 提问
转:Redis消息队列的若干实现方式

微信号:neihanrukou Redis消息队列的若干实现方式 最近忙着用Redis实现一个消息通知系统,今天大概总结了一下技术细节,其中演示代码如果没有特殊说明,使用的都是PhpRedis扩展来实现的。 内...

fzxu_05
2013/03/04
0
0
基于Dynomite的分布式延迟队列

最近看了Dyno-queues分布式延迟队列的源码,发现了一些不错的技巧,而本文是对Dyno-queues架构精华的总结。 本文是根据 https://medium.com/netflix-techblog/distributed-delay-queues-bas...

小程故事多
12/05
0
0
Redis任务队列

Redis任务队列, 队列优先级, 本身不支持, 需要在客户端通过Redis的列表结构写代码实现?

小白鼠_
10/18
105
3
优先级队列之PriorityQueue

背景 前面几篇的队列基本都是和插入顺序相关的,一般来说可以先进先出,当然也可以通过双向队列实现进后出等等 那么在开发中还存在如下一些需求 不同的任务过来可以进入到不同的处理阶段【比...

Mr_Qi
2017/11/02
0
0
golang基于redis lua封装的优先级去重队列

前言: 前两天由于某几个厂商的api出问题,导致后台任务大量堆积,又因为我这边任务流系统会重试超时任务,所以导致队列中有大量的重复任务。这时候我们要临时解决两个事情,一件事情,让一些...

rfyiamcool
2017/10/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

[LintCode] Serialize and Deserialize Binary Tree(二叉树的序列化和反序列化)

描述 设计一个算法,并编写代码来序列化和反序列化二叉树。将树写入一个文件被称为“序列化”,读取文件后重建同样的二叉树被称为“反序列化”。 如何反序列化或序列化二叉树是没有限制的,你...

honeymose
今天
5
0
java框架学习日志-7(静态代理和JDK代理)

静态代理 我们平时去餐厅吃饭,不是直接告诉厨师做什么菜的,而是先告诉服务员点什么菜,然后由服务员传到给厨师,相当于服务员是厨师的代理,我们通过代理让厨师炒菜,这就是代理模式。代理...

白话
今天
23
0
Flink Window

1.Flink窗口 Window Assigner分配器。 窗口可以是时间驱动的(Time Window,例如:每30秒钟),也可以是数据驱动的(Count Window,例如:每一百个元素)。 一种经典的窗口分类可以分成: 翻...

满小茂
今天
18
0
my.ini

1

architect刘源源
今天
16
0
docker dns

There is a opensource application that solves this issue, it's called DNS Proxy Server It's a DNS server that solves containers hostnames, if could not found a hostname that mat......

kut
今天
16
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部