• 技术文章 >数据库 >Redis

    kafka与redis的区别有哪些

    尚2019-06-24 14:29:30原创2120

    kafka与redis的区别:

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

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

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

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

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

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

    更多Redis相关技术文章,请访问Redis教程栏目进行学习!

    以上就是kafka与redis的区别有哪些的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:kafka与redis的区别
    上一篇:redis与mongodb有哪些区别 下一篇:redis有多少个数据库

    相关文章推荐

    • redis性能为什么高• web项目为什么要引入redis• 本地缓存与redis缓存有哪些区别• redis与mongodb有哪些区别

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网