消息队列 Redis 、rabbitmq 、kafka 介绍

前言:

小编时间隔了一年多之久未更新了,繁忙的工作和生活阶段性告一段落了,重新拾起笔杆子码字啦。虽然也没几个粉丝,但是依然干货满满,也算是一个阶段性的总结,也是重新拾起技术的笔记,也是方便记录知识点好之后查看。码字不易,欢迎拍砖。
1、Redis
redis 作为消息队列来使用,在很多项目中都有运用。最重要的特性就是内存型的消息队列。那有些人就要说了,redis 是一个缓存中间键,哪里有什么消息队列。如果了解过数据结构与算法的话,就很容易理解。消息队列是一种队列数据结构,具有先进先出的特性,是可以通过代码来实现的。
【消息队列 Redis 、rabbitmq 、kafka 介绍】redis 6.0版本之前都是单线程的。所有的操作的是原子性的(要么全部执行成功,要么全部失败)这样都天然的支持高并发的业务场景。来实现队列的功能也相对简单。
加入到队列
$cacheKey = 'key'; $data = https://www.it610.com/article/array($key=>$value); $ret = $redis->rPush($cacheKey , $data);

取出队列
$ret = $redis->rPop($cacheKey);

总结
redis 做消息队列的优点:内存操作性能高。缺点也很明显,因为是内存,受限于内存 容量大小的限制,不易扩展。至于队列执行失败,数据丢失问题也可以在执行队列 RPOPLPUSH 这个方法进行补充。具体队里的链接地址,可以自行查看

Redis队列命令
2、rabbitmq 说起rabbitmq,就要从底层编程语言,erlang 编程语言说起,语言层面原生支持并发编程。不用担心并发产生的问题。rabbitmq 特性是文件型的消息队列。具体详细可以参考
RabbitMq 官网
超详细的RabbitMQ入门,看这篇就够了!
3、kafka 目前用的比较多的消息队。这些都是比较成熟的的中间键,开箱即用。详细知识点
Kafka 入门知识
总结
市面上的MQ队列产品有很多。最常用的使用场景 redis、rabbitmq 、kafka。 redis 可以实现基于内存形式的消息队列 rabbitmq 、kafka 是基于文件类型分布式消息队列。 其中kafka 目前在最受欢迎的消息队列产品之一。使用广泛 本文大体上介绍,市面上的常用的消息队列。具体的细节知识点,都有链接提供参考。

    推荐阅读