队列subscribe rabbitmq publish

【Java 并发】【十】【JUC数据结构】【三】LinkedBlockingQueue阻塞队列原理

1 前言 这节我们就来看看LinkedBlockingQueue内部实现的原理。 2 LinkedBlockingQueue的使用 在看原理之前我们先来用一用LinkedBlockingQueue,来体验一下: 2.1 插入数据 public class LinkedBlockingQueueTes ......

js异步——事件循环和消息队列

前言 上篇文章中介绍了多进程的浏览器基本架构,现在,我们来谈谈单线程的 JS 代码、消息队列、事件循环、微任务和宏任务。 单线程的 JavaScript 什么是单线程 js? 如果你已经仔细阅读过上一篇文章,那么答案是显而易见的:由于浏览器是由渲染进程的主线程来执行 js 代码的,换句话说,js的运 ......
队列 消息 事件

RabbitMQ 10 头部模式

头部模式是根据头部信息来决定的,在发送的消息中是可以携带一些头部信息的(类似于HTTP),可以根据这些头部信息来决定路由到哪一个消息队列中。 定义配置类。 import org.springframework.amqp.core.Binding; import org.springframework ......
头部 RabbitMQ 模式 10

【Java 并发】【十】【JUC数据结构】【二】BlockingQueue阻塞队列原理

1 前言 这节我们就来看看BlockingQueue阻塞队列是什么都有哪些具体实现。 2 BlockingQueue阻塞队列是什么 BlockingQueue阻塞队列,它是一个提供阻塞功能的队列容器。首先它是一个队列容器,能够存储东西,提供数据入队功能,进行数据存入;提供数据取出功能,进行出队,如下 ......

笔记2. 堆(优先队列)

堆(优先队列) 堆的概念 堆是满二叉树:从左到右依次变满(一般用数组下标存储) 父节点和左右节点的位置 节点i位置对应的父子节点位置 父节点: (i - 1) / 2; 左子节点: 2 * i + 1 右子节点: 2 * i + 2 大根堆和小根堆 大根堆:每棵子树的头节点为当前树的最大值 小根堆: ......
队列 笔记

【算法数据结构专题】「延时队列算法」史上手把手教你针对层级时间轮(TimingWheel)实现延时队列的开发实战落地(下)

承接上文 承接上一篇文章【算法数据结构专题】「延时队列算法」史上手把手教你针对层级时间轮(TimingWheel)实现延时队列的开发实战落地(上)】我们基本上对层级时间轮算法的基本原理有了一定的认识,本章节就从落地的角度进行分析和介绍如何通过Java进行实现一个属于我们自己的时间轮服务组件,最后,在 ......

数组模拟单向队列的思路及代码

JAVA实现数组模拟单向队列的思路及代码 一、什么是队列? 队列是一种特殊的线性表 ,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。 进行插入操作的端称为队尾,进行删除操作的端称为队头。 队列中没有元素时,称为 ......
队列 数组 单向 思路 代码

数组模拟环形队列的思路及代码

JAVA实现数组模拟环形队列的思路及代码 前言 在对Java实现数组模拟队列零了解的情况下,建议先去阅读《JAVA实现数组模拟单向队列的思路及代码》一文,可以辅助理解本文核心思想。 一、环形数组队列 实现:让数组达到复用的效果,即:当我们从数组队列中取出了数据,那取出数据后后这个空间可以再次使用。 ......
环形 队列 数组 思路 代码

rabbitmq学习记录

一、综述 需要在生产者和消费者之间建立有效的通信链路并确定双方的通信协议。 消费者通常采取主动拉取和被动消费这两种模式实现消息消费。同时出于稳定性的考虑,消费者还要提供限流的能力。 消息发送方逻辑则相对简单,消息发送出去后,依赖路由规则,最终投递给符合条件的一个或多个消费者。 rabbitmq是基于 ......
rabbitmq

rabbitmq docker部署、集成学习笔记

docker部署 rabbitmq: image: rabbitmq:management container_name: myrabbit restart: always hostname: rabbitmq_host ports: - 15672:15672 # web UI 管理接口 - 56 ......
rabbitmq 笔记 docker

Centos 7 安装 rabbitmq

1.配置yum下载源: yum install epel-release -y 2.下载rabbitmq: yum install rabbitmq-server -y 3.配置web ui网页插件(网页登陆端口号:15672) rabbitmq-plugins enable rabbitmq_ma ......
rabbitmq Centos

【LeetCode剑指offer 01】数组中重复的数字、两个栈实现队列

数组中重复的数字 数组中重复的数字 找出数组中重复的数字。 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 示例 1: 输入: [2, 3, 1, 0, 2, ......
队列 数组 LeetCode 两个 数字

Redis 在消息队列中的应用

1.Redis 的 List 数据类型 1.1 List 数据类型的特点 List 列表是 Redis 提供的一种重要的数据类型。它是由若干个字符串元素组成的集合,并且每个字符串元素都是按照插入顺序排序的。也可以将列表理解为多个字符串组成的一个集合对象,并按照链表(Link List)的插入顺序排序 ......
队列 消息 Redis

【算法数据结构专题】「延时队列算法」史上手把手教你针对层级时间轮(TimingWheel)实现延时队列的开发实战落地(上)

承接上文 承接之前的【精华推荐 |【算法数据结构专题】「延时队列算法」史上非常详细分析和介绍如何通过时间轮(TimingWheel)实现延时队列的原理指南】,让我们基本上已经知道了「时间轮算法」原理和核心算法机制,接下来我们需要面向于实战开发以及落地角度进行分析如何实现时间轮的算法机制体系。 前言回 ......

强引用、软引用、弱引用、虚引用、引用队列、WeakHashMap

从JDK1.2版本开始,把对象的引用分为四种级别,从而使程序能更加灵活的控制对象的生命周期。这四种级别由高到低依次为:强引用、软引用、弱引用和虚引用。 Java中提供这四种引用类型主要有两个目的: 第一是可以让程序员通过代码的方式决定某些对象的生命周期; 第二是有利于JVM进行垃圾回收。 1.强引用 ......
队列 WeakHashMap

RabbitMQ 09 主题模式

主题模式 主题模式结构图: 主题模式实际上就是一种模糊匹配的模式,可以将routingKey以模糊匹配的方式去进行转发。 可以使用*或#来表示: *:任意的一个单词。 #:0个或多个单词。 定义配置类。 import org.springframework.amqp.core.Binding; im ......
RabbitMQ 模式 主题 09

单机最快的队列Disruptor解析和使用

前言 介绍高性能队列Disruptor原理以及使用例子。 Disruptor是什么? Disruptor是外汇和加密货币交易所运营商 LMAX group 建立高性能的金融交易所的结果。用于解决生产者、消费者及其数据存储的设计问题的高性能队列实现。可以对标JDK中的ArrayBlockingQueu ......
队列 单机 Disruptor

消息队列面试题

为什么要使用消息队列? 主要有三点原因:解耦、异步、削峰。 (1)解耦。比如,用户下单后,订单系统需要通知库存系统,假如库存系统无法访问,则订单减库存将失败,从而导致订单操作失败。订单系统与库存系统耦合,这个时候如果使用消息队列,可以返回给用户成功,先把消息持久化,等库存系统恢复后,就可以正常消费减 ......
队列 消息

Docker 部署单机 RabbitMQ + exporter

资源清单 | 主机 | IP | | | | | rabbitmq | 10.0.0.1 | | 软件 | 版本 | | | | | docker | 20.10.12 | | docker-compose | 1.23.1 | | rabbitmq | 3.8.34 | 一、Docker 安装 1 ......
单机 RabbitMQ exporter Docker

一个非常简单用.NET操作RabbitMQ的方法

一个非常简单用.NET操作RabbitMQ的方法 RabbitMQ作为一款主流的消息队列工具早已广受欢迎。相比于其它的MQ工具,RabbitMQ支持的语言更多、功能更完善。 本文提供一种市面上最/极简单的使用RabbitMQ的方式(支持.NET/.NET Framework/.NET Core),只 ......
RabbitMQ 方法 NET

它把RabbitMQ的复杂全屏蔽了,我朋友用它后被老板一夜提拔为.NET架构师

它把RabbitMQ的复杂全屏蔽了,我朋友用它后被老板一夜提拔为.NET架构师 本文技术源自外企,并已在多个世界500强大型项目开发中运用。 本文适合有初/中级.NET知识的同学阅读。(支持.NET/.NET Framework/.NET Core) RabbitMQ作为一款主流的消息队列工具早已广 ......
架构 RabbitMQ 老板 朋友 NET

Domino (贪心,多个位置排序,优先队列) 第二十届浙大城市学院程序设计竞赛

题目大意: 给出2个队列A,B 选 K 个 ai 和 在从里面选L个 bi 问权值最大时多少 思路: 排序预处理 有多个元素的时候, 对那个元素首先排序,以至于可以处理这个问题是很重要的 当不能一步直接贪心出来,可以 先贪部分,然后利用DP的思想慢慢加入点去更新即可 先对ai 排序, 然后选bi个最 ......
队列 程序设计 多个 位置 程序

单调队列与滑动窗口一

单调队列--滑动窗口最值问题 显然O(n^2)的时间复杂度是无法接受的 我们先考虑滑动窗口滑动过程中最大值的问题 过程即为我们想要维护每个滑动区间的最大值,当新插入一个元素前,我们把这个区间的第一个元素移除,插入新元素,并想在尽可能贴近O(1)的时间内得到该区间的最大值。 这里是十分美妙的想法,借助 ......
队列

RabbitMQ 08 路由模式

路由模式 路由模式结构图: 定义配置类。 import org.springframework.amqp.core.Binding; import org.springframework.amqp.core.BindingBuilder; import org.springframework.amq ......
路由 RabbitMQ 模式 08

linux 安装 rabbitmq

RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。 更新基本系统 安装任何软件包之前,建议使用以下 命令更新软 ......
rabbitmq linux

php 扩展 rabbitmq popt

首先是rabbitmq-c-master.tar.gz包, 可以访问https://github.com/alanxz/rabbitmq-c去下载最新的 wget https://github.com/alanxz/rabbitmq-c.gitwget https://github.com/alan ......
rabbitmq popt php

滑动窗口【单调队列模板题】【数组模拟双端队列】

滑动窗口 /【模板】单调队列【双端队列】 题目描述 有一个长为 $n$ 的序列 $a$,以及一个大小为 $k$ 的窗口。现在这个从左边开始向右滑动,每次滑动一个单位,求出每次滑动后窗口中的最大值和最小值。 例如: The array is $[1,3,-1,-3,5,3,6,7]$, and $k ......
队列 数组 模板

进程间通信 消息队列

System V IP IPC : Inter-Process Communication (进程间通讯) System V 是早期的unix 系统,曾经被称为 AT & T System ,是 unix 操作系统中比较重要的一个分支,现在Linux 系统一般都支持 System V IPC Sys ......
队列 进程 消息

PHP消息队列实现及应用

目前对消息队列并不了解其原理,本篇文章主要是通过慕课网学习归纳的一些笔记,为后续学习打下基础。 众所周知在对网站设计的时候,会遇到给用户“群发短信”,“订单系统有大量的日志”,“秒杀设计”等,服务器没法处理这种瞬间迸发的压力,这种情况要保证系统正常有效的使用,就需要“消息队列”的帮助。本篇主要通过消 ......
队列 消息 PHP

rabbitmq消息队列之持久化

在生产过程中,难免会发生服务器宕机的事情,RabbitMQ也不例外,可能由于某种特殊情况下的异常而导致RabbitMQ宕机从而重启,那么这个时候对于消息队列里的数据,包括交换机、队列以及队列中存在消息恢复就显得尤为重要了。RabbitMQ本身带有持久化机制,包括交换机、队列以及消息的持久化。持久化的 ......
队列 rabbitmq 消息