哈,又一款超级简单的队列(MQ)实现方案来了~

开源的消息队列已经很多了,但大部分很重,实际环境下,很多可能只是使用到了一点功能而已,杀鸡使用牛刀,着实有些浪费了。很多时候,我们只想要一片绿叶,但它们给了我们整个的春天,很难消化。本着DIR精神, 也琢磨了一个超级简单的队列实现。
说是超级简单,嗯,绝对是超级简单,队列的存储采用Redis进行持久化存储,采用Netty提供HTTP方式的队列的出/入。Redis的客户端采用的Jedis。然后呢,然后就没了啊。

一。Redis

Redis内置订阅发布模型(Publish/Subscribe),其缺陷是,不存储,一旦订阅者断线,将无法接收到消息,再次连接上之后,在断线期间发布者发布的消息都是无法获取到的。只能采用list数组实现,采用rpush/lpop组合命令来实现先进先出的队列模型,当然redis也提供了阻塞版本的blpush/brpush/blpop/brpop等,就看我们实际环境下如何使用了。
JAVA客户端使用Jedis,提供接口也很丰富。但要注意的是,需要使用连接池,否则在大数量的情况下,有可能jedis的连接不够用。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。