百科问答小站 logo
百科问答小站 font logo



Kafka,Mq,Redis作为消息队列使用时的差异? 第1页

  

user avatar   skywind3000 网友的相关建议: 
      

redis 消息推送(基于分布式 pub/sub)多用于实时性较高的消息推送,并不保证可靠。

其他的mq和kafka保证可靠但有一些延迟(非实时系统没有保证延迟)。redis-pub/sub断电就清空,而使用redis-list作为消息推送虽然有持久化,但是又太弱智,也并非完全可靠不会丢。

另外一点,redis 发布订阅除了表示不同的 topic 外,并不支持分组,比如kafka中发布一个东西,多个订阅者可以分组,同一个组里只有一个订阅者会收到该消息,这样可以用作负载均衡。

比如,kafka 中发布:topic = "发布帖子" data="文章1" 这个消息,后面有一百台服务器每台服务器都是一个订阅者,都订阅了这个 topic,但是他们可能分为三组,A组50台,用来真的做发布文章,A组50台里所有 subscriber 都订阅了这个topic。

由于在同一组,这条消息 (topic="发布帖子", data="文章1")只会被A组里面一台当前空闲的机器收到。而B组25台服务器用于统计,C组25台服务器用于存档备份,每组只有一台会收到。

用不同的组来决定每条消息要抄送出多少分去,用同组内哪些订阅者忙,哪些订阅者空闲来决定消息会被分到哪台服务器去处理,生产者消费者模型嘛。

redis完全没有这类机制,这两点是最大的区别。。。。。




  

相关话题

  有些上古程序猿一直坚持反对使用redis怎么办? 
  libevent+rabbitmq 架构做高并发服务器可否? 
  RabbitMQ ACK 机制的意义是什么? 
  新浪微博「点赞功能」数据库如何设计的? 
  kafka stream 拓扑结构中Processor节点被调用的过程是什么样? 
  有些上古程序猿一直坚持反对使用redis怎么办? 
  做一种可以缓存到 memcache 或 redis 的高性能高性能验证码的方案,请朋友们指点迷津? 
  如何看待 Redis 修改 Master/Slave 称呼,以避免让人联系到奴隶制? 
  kafka stream 拓扑结构中Processor节点被调用的过程是什么样? 
  Kafka,Mq,Redis作为消息队列使用时的差异? 

前一个讨论
如何看待@Krisirk 针对广电总局关于苹果游戏审核条例,温和发声,却被删帖禁言这件事?
下一个讨论
梅兰芳历次出国演出的盛况及影响简单介绍一下好吗?





© 2024-12-22 - tinynew.org. All Rights Reserved.
© 2024-12-22 - tinynew.org. 保留所有权利