消息队列 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 目前在最受欢迎的消息队列产品之一。使用广泛
本文大体上介绍,市面上的常用的消息队列。具体的细节知识点,都有链接提供参考。
推荐阅读
- 危险也是机会
- python学习之|python学习之 实现QQ自动发送消息
- 深入浅出谈一下有关分布式消息技术(Kafka)
- 《数据结构与算法之美》——队列
- springboot使用redis缓存
- (1)redis集群原理及搭建与使用(1)
- 夏夜|夏夜 我们
- Vue组件之事件总线和消息发布订阅详解
- springboot结合redis实现搜索栏热搜功能及文字过滤
- Redis——发布订阅/消息队列