队列3.2

面试之消息队列

使用mq的优缺点 优点 解耦,生产者与消费者都只需要与mq进行交互,减少了强依赖。 流量削峰,将大量请求放入mq后,服务器可以根据自身能力从mq中拉取消息消费。 异步通信,减少客户端响应时间。 缺点 系统更复杂,运维成本增加。 可用性降低,存在mq服务器宕机的风险。 关键角色 broker,可理解为 ......
队列 消息

延迟队列

一、延时队列的应用 什么是延时队列?顾名思义:首先它要具有队列的特性,再给它附加一个延迟消费队列消息的功能,也就是说可以指定队列中的消息在哪个时间点被消费。 延时队列在项目中的应用还是比较多的,尤其像电商类平台: 1、订单成功后,在30分钟内没有支付,自动取消订单 2、外卖平台发送订餐通知,下单成功 ......
队列

829. 模拟队列

829. 模拟队列 题目链接:829. 模拟队列 - AcWing题库 队列:就是一个特殊的数组。这个数组,最前面叫队头,最后面叫队尾。只允许在最后面添加元素,只允许在最前面删除元素。 #include<bits/stdc++.h> using namespace std; const int N ......
队列 829

在sqlserver2008中使用自带的消息队列Service Broker

以前有个业务操作本来是用sqlserver的表中触发器来处理的,后来在使用一个存储过程中,涉及到这个表后,发现存储过程执行过程,需要等待涉及的表的触发器操作完成才会返回,导致这个存储过程耗时有点久,这样就出现锁的问题,本来想改造下代码 写到C#中,后来也懒得弄了,就找了找,发现可以用消息队列 Ser ......
队列 sqlserver Service 消息 Broker

02_由两个栈组成的队列

由两个栈组成的队列 【题目】 编写一个类,用两个栈实现队列,支持队列的基本操作(add、poll、peek)。 【解答】 栈的特点是先进后出,而队列的特点是先进先出。我们用两个栈正好能把顺序反过来实现类似队列的操作。 具体实现时是一个栈作为压入栈,在压入数据时只往这个栈中压入,记为stackPush ......
队列 两个 02

【算法】栈与队列

1 栈与队列理论基础 队列先进先出,栈先进后出;不允许有遍历行为,不提供迭代器 2 用栈实现队列 题目:请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) 将元素 x 推到队列 ......
队列 算法

消息队列的四种场景

01 概述 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。 实现高性能,高可用,可伸缩和最终一致性架构。 使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ。 02 消息队列应用场景 以下介绍消息队列 ......
队列 场景 消息

队列环形数组实现两种实现

1 import java.util.Iterator;//环形队列,数组容量应该比实际需要大一public class Main { public static void main(String[] args) { ArrayQueue<Integer> a=new ArrayQueue<>(10 ......
环形 队列 数组

什么是消息队列

今天,我们一起来看看,消息队列是个啥? 消息队列是否了解? 消息队列初步来看,是由“消息”和“队列”组成,英文叫做:Message Queue,一般这些玩意都会根据英文名称来个简称,而简称一般就是英文名字的首字母缩写,所以消息队列即MQ。 可能你对消息队列有点陌生,但是你一定听过消息队列四个字,而且 ......
队列 消息

基础双指针算法:单队列、双队列

1、单队列 输入一串字符串,字符串有多个由单个逗号隔开的单词,任务是需要把单词间隔开,每个单词换行输出。 输入样例abc def ghi 输出样例abc def ghi #include <iostream> using namespace std; const int N = 1010; int ......
队列 指针 算法 基础

探索抽象同步队列 AQS

AbstractQueuedSynchronizer抽象同步队列简称AQS,它是实现同步器的基础组件,并发包中锁的底层就是使用AQS实现的。大多数开发者可能永远不会直接使用AQS,但是知道其原理对于架构设计还是很有帮助的。 ......
队列 AQS

21python实现简单的消息队列

from multiprocessing import Queue ''' q=Queue(num)若括号中没有指定最大可接收的消息数量,或数量为负值,那么就代表可接收的消息数量没有上限(直到内存的尽头)。函数也是队列的初始化。 Queue.qsize() 返回当前队列包含的消息数量。 Queue. ......
队列 消息 python 21

【基本数据结构】队列

一、先进先出(FIFO) 队列是一种操作受限的线性表,只允许在队头进行删除操作,在队尾进行添加操作。向队尾添加元素叫做入队,从队头删除元素叫做出队。 适用场景:对于大部分资源有限的场景,当没有空闲资源时,基本上都可以通过队列来实现请求排队。比如,线程池、连接池、消息队列等。 二、队列的实现 队列可以 ......
数据结构 队列 结构 数据

消息队列中,如何保证消息的顺序性?

本文选自:advanced-java 作者:yanglbme 问:如何保证消息的顺序性? 面试官心理分析 其实这个也是用 MQ 的时候必问的话题,第一看看你了不了解顺序这个事儿?第二看看你有没有办法保证消息是有顺序的?这是生产系统中常见的问题。 面试题剖析 我举个例子,我们以前做过一个 mysql ......
消息 队列 顺序

redis消息队列——发布订阅

一、相关依赖 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> < ......
队列 消息 redis

说明是延迟队列(死信交换机)

延迟队列:延迟队列就是由死信交换机+消息的存活时间(TTL)实现的,如果队列中的消息超时未消费,就会将这个消息投递到死信交换机,死信交换机还可以绑定其它队列,在我们发消 息的时候可以按照需求指定TTL的时间,这样就实现了延迟队列的功能了。 ......
死信 队列 交换机

【题解】集训队互测 2018 完美的队列

假设 \(n,m\) 同阶。 我们实际要做的是,对于一个 \(i\) 时间的 \(\mathbf{push}\) 操作 \(l,r,x\) 找到其被清空的时间 \(j\),这样在 \([i,j)\) 这一段 \(x\) 就是存在的。最后只要合并相同 \(x\) 的区间即可。 将 \(l,r,x\) ......
集训队 题解 队列 2018

About 单调队列优化多重背包

20230921 About 单调队列优化多重背包 前言 之前打了给代码,隐隐约约知道了意思。 但不完全明白~ 于是经过自己的钻研,终于理解。 模板题(P1776 宝物筛选) Statement 传送门 01 背包中每个数只能选一次改成可以选 \(s_i\) 次。 Solution 直接 dp 可以 ......
队列 背包 About

优先队列

priority_queue<int> q;//大根堆priority_queue<int,vector<int>,greater<int> >q;//小根堆 q.top()//取得堆顶元素,并不会弹出 q.pop()//弹出堆顶元素 q.push()//往堆里面插入一个元素 q.empty()// ......
队列

21_消息队列

消息队列 消息队列 1、任务级队列处理函数 2、中断级队列处理函数(带中断保护)已经在CMSIS接口中封装 但写入生产速度比消费速度快的时候,容易出现数据被覆盖 邮箱队列 创建、发送、接收、查询、删除 传数值 osEvent event = osMessageGet(myQueue01Handle, ......
队列 消息 21

阻塞队列

生产者消费者概念 生产者消费者是设计模式的一种。让生产者和消费者基于一个容器来解决强耦合问题。 生产者 消费者彼此之间不会直接通讯的,而是通过一个容器(队列)进行通讯。 所以生产者生产完数据后扔到容器中,不通用等待消费者来处理。 消费者不需要去找生产者要数据,直接从容器中获取即可。 而这种容器最常用 ......
队列

priority_queue(优先队列)

优先队列底层模板:priority<type,container,function>,type:元素数据类型,container:容器一般是vector, function:比较函数 优先队列默认是大根堆,即堆顶元素为最大值:定义方法为 priority_queue<type>q或priority< ......
队列 priority_queue priority queue

Spring Boot + Disruptor 实现消息队列,告诉你什么叫快、什么叫高效!

01、背景 工作中遇到项目使用Disruptor做消息队列,对你没看错,不是Kafka,也不是rabbitmq;Disruptor有个最大的优点就是快,还有一点它是开源的哦,下面做个简单的记录. 02、Disruptor介绍 Disruptor 是英国外汇交易公司LMAX开发的一个高性能队列,研发的 ......
队列 Disruptor 消息 Spring Boot

消息队列 - RabbitMQ

RabbitMQ简介 RabbitMQ 是一个广泛使用的开源消息队列系统,它实现了高级消息队列协议(AMQP)标准,为分布式应用程序提供了强大的消息传递功能。RabbitMQ 是 Erlang 语言编写的,具有高度的可扩展性和可靠性,因此被广泛用于构建分布式、异步的消息通信系统。 以下是关于 Rab ......
队列 RabbitMQ 消息

## day13 - 栈与队列part03

day13 - 栈与队列part03 力扣239. 滑动窗口的最大值 思路:利用单调队列,很难想的出来。 因为每次是进一个数,弹出一个数,因此没必要每次都进行排序,只需要拿到最大值即可。 用单调队列实现,是一个双向队列 pop()函数:如果要pop的值是队列头部的值,那么就弹出,否则不操作。 pus ......
队列 part day 13 03

## day11 - 栈与队列part02

day11 - 栈与队列part02 力扣20. 有效的括号 思路: 利用栈的特性,遇见左括号就把右括号压栈,遇见右括号,就对比和栈顶元素是否相同,不同就返回false。 代码 class Solution { public: stack<int> st; bool isValid(string s ......
队列 part day 11 02

## day10 - 栈与队列 part01

day10 - 栈与队列 part01 力扣232. 用栈实现队列 思路:建立一个输入栈,一个输出栈,每次push进队列时,放进输入栈,出队列时,从输出栈弹出,如果输出栈是空的,就把输入栈的全部数都弹出到输出栈。 代码 class MyQueue { public: MyQueue() { } vo ......
队列 part day 10 01

代码随想录算法训练营-贪心算法-4|406. 根据身高重建队列、452. 用最少数量的箭引爆气球

406. 根据身高重建队列 1. 一定要想如何确定一个维度,然后再按照另一个维度重新排列。 2. 先确定身高的维度,降序排列。 3. 按照身高排序之后,优先按身高高的people的k来插入,后序插入节点也不会影响前面已经插入的节点,最终按照k的规则完成了队列。 4. 局部最优:优先按身高高的peop ......
算法 随想录 队列 训练营 气球

RocketMQ 消息重试与死信队列

RocketMQ 消息重试与死信队列 RocketMQ 前面系列文章如下: RocketMQ系列(一) 基本介绍 RocketMQ 系列(二) 环境搭建 RocketMQ 系列(三) 集成 SpringBoot RocketMQ 系列(四) 消息存储 RocketMQ 系列(五)高可用与负载均衡 消 ......
死信 队列 RocketMQ 消息

算法训练day11 栈与队列 02 LeetCode20

算法训练day11 栈与队列 02 LeetCode20.1047.150 20.有效的括号: 题目: 20. 有效的括号 - 力扣(LeetCode) 题解: 代码随想录 (programmercarl.com) class Solution { public: bool isValid(stri ......
队列 算法 LeetCode day 11