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