深入浅出RabbitMQ:顺序消费、死信队列和延时队列
1. 引言 在今天的文章中,我们来聊一聊 RabbitMQ,这是不念在工作中用的最早的消息中间件,主要用于大量数据的异步消费。 2. RabbitMQ 2.1 核心组件 RabbitMQ 是一个开源的消息中间件,它实现了...
如何选择合适的消息中间件
在应用开发中,选择适合的消息中间件取决于具体需求: 如果你的应用是一个中小型系统,对性能要求不高,而更关注简单的使用和快速开发,那么 ActiveMQ 可能是不错的选择。 如果你需要处理大规模...
虚拟内存和物理内存的区别
我们都知道,以前的计算机存储器空间很小,我们在运行计算机程序的时候物理寻址的范围非常有限。 比如,在 32 位的机器上,寻址范围只有 2 的 32 次方,也就是 4G。 并且,对于程序来说,这是固...
redis常见的使用场景
缓存:是 redis 被使用最多的场景之一,业务数据一般存在磁盘中,当我们要读写数据时,直接去磁盘里面访问就可以。但磁盘 IO 一直是业务性能提升的一个重要瓶颈,且并发量很高的情况下,数据库...
select、poll和epoll的区别
我们从源码的角度看一下它们实现有哪些区别。 select:客户端操作服务器时会生成三种文件描述符 fd:readfds(读)、writefds(写)和 exceptfds(异常)。 int select( int maxfd, fd_set *rea...
红黑树的原理和应用场景
红黑树(Red Black Tree)是一种平衡的排序二叉树,如图: 所有的红黑树都满足如下性质: 每个节点要么是红色,要么是黑色的; 根节点和叶子节点(即 NIL 空节点)一定是黑色; 红色节点的父节...









