简单看了下,如有错误请别见怪 1、通过zdd排序,hset设置的消息。没看到删除。 2、hash存放数据key过多的情况下没看到分组。 3、消息多个订阅者情况、以及消息处理失败。
@wangkunmeng hi 先谢谢你的指点哈 1、这是mq。消息的删除是在消费后删除的,你如果仔细看代码是通过一段lua脚本删除的。 2、暂时没考虑分组的意义是啥? 如果是怕field-value 数量的限制,也有2^32-1 个。应该是够用的。 3、暂时确实还没想用发布-订阅的模型,后期可能会考虑。现阶段只支持点对点(queue)的模型。消息处理失败的这种情况确实没考虑过,这点容我想下再回答。
bull 不香吗,不用重复造轮子,遇到问题可以一起造。
@riichg5 英语水平太差,一个月前研究了会没看懂文档和Demo在讲啥…中文科普有点少。后来就看了AMQP资料,感觉还是RabbitMQ可能更方便点。
@wangkunmeng 个人觉的,数据量小的情况下,向 redis 这种 mq 是可以解决的。如果需要数据量大的mq。kafka 或者RabbitMQ可以考虑下,毕竟是这些都是分布式的mq。量少的话就没必要了。
@WenNingZhang 嗯,基于redis list的brpop和push也做了一个简单的消息暂存、排队
@WenNingZhang bull 也可作为消息队列的
@wangkunmeng bull 在基于redis的消息队列里面,属于node里面非常成熟的一款,并且非常轻量。适合中小规模的消息处理中间件。我非常推荐使用。之前我还用过kue,没有bull成熟。我最早接触到的用redis做消息队列组件,比较成熟的是ruby里面的sidekiq,以前sidekiq是免费的,现在开始做收费了。node的bull不比当年我使用的sidekiq差。 bull真的好用,哈哈