摘要:
RabbitMQ的死信队列和延迟队列 一、死信队列是什么? 1、要想知道死信队列是什么,先要了解什么是死信 1)“死信”是RabbitMQ中的一种消息机制。 2)消息变成死信,可能是由于以下的原因: 消息被拒绝 消息过期 队列达到最大长度 3)死信队列 当消息在一个队列中变成死信(dead mess 阅读全文
摘要:
Redis的持久化方式 概要 什么是持久化(Persistence)?即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的对象存储在数据库中,或者存储在磁盘文件中、XML数据文件中等等。 一、Redis为什么要持久化? Redis是一个内存数据库,所有的数据 阅读全文
摘要:
消息幂等与重复消费的问题 1、什么是消息幂等? 当出现消费者对某条消息重复消费的情况时,重复消费的结果与消费一次的结果是相同的,并且多次消费并未对业务系统产生任何负面影响,那么这整个过程就可实现消息幂等。 2、什么情况下需要消息幂等? 业务开发中,经常会遇到重复提交的情况,无论是由于网络问题无法收到 阅读全文
摘要:
RabbitMQ的六种工作模式(含PHP代码实现) 接着上一篇文章《RabbitMQ入门》,我们再来看下RabbitMQ的工作模式有哪些。 1、简单队列模式(simple queue)-最简单的收发模式 1)只包含一个生产者和一个消费者 2)生产者将消息发送到队列中,消费者从队列中接收消息 场景:有 阅读全文
摘要:
RabbitMQ入门 RabbitMQ简介 RabbitMQ 是一个开源的消息队列中间件,基于 AMQP(Advanced Message Queuing Protocol)协议,广泛用于实现异步消息传递和解耦系统。 AMQP,即Advanced Message Queuing Protocol,高 阅读全文
摘要:
Yii2的整体结构概览 一、yii2内部中各类之间的关系 1. 各类之间的关系 yii\web\Application->yii\base\Application->yii\base\Module->yii\di\ServiceLocator->yii\base\Component->yii\bas 阅读全文
摘要:
Redis实现消息队列 消息队列(Message Queue) 1. 什么是消息队列? 消息队列(Message Queue)是一种应用间的通信方式,消息发送后可以立即返回,由消息系统来确保消息的可靠传递。消息发布者只管把消息发布到 MQ 中而不用管谁来取,消息使用者只管从 MQ 中取消息而不管是谁 阅读全文
摘要:
Redis使用场景梳理 一、Sorted Set(有序集合)- 排行榜 排行榜是业务开发中常见的一个场景。 1. 场景一:选手报名参加活动,观众可以对选手进行投票,每个观众对同一名选手只能投一票,活动期间最多投N票 1)功能1:返回TOP 10的选手信息及投票数 2)功能2:返回活动总参与选手数及总 阅读全文
摘要:
redis基础知识 Redis有9种基本数据类型,大部分盆友最熟悉的有这5种:string、hash、list、set、zset。其实,除此之外,经常用到的还有:bitmap、hyperloglog、geohash、stream。 下面来整理下各个数据类型的概念和基本用法。 一、 普通数据类型(5种 阅读全文
摘要:
TCP服务 概要 在《TCP/IP协议的认识》一文中,我们知道TCP服务是属于传输层的。TCP提供了一种面向连接,提供可靠的,字节流传输服务。采用三次握手建立一个连接,采用四次挥手来关闭一个连接。 那么什么是面向连接,是不是还有面向无连接的传输服务?我们来简单了解一下 一、传输方式的分类 通过网络发 阅读全文