优先队列PriorityQueue,有空了解一下吗? PriorityQueue这个队列不知道大家使用过吗,反正我用的很少,主要对它不是很了解,今天我带领大家剖析下PriorityQueue这个优先级队列。,顾名思义,PriorityQueue是优先队列... 网站建设# priorityqueue# 全职# 原素 2年前380
并发编程:并发容器,我们一起了解一下! 在所有的并发容器中,BlockingQueue是最常见的一种。BlockingQueue是一个带阻塞功能的队列,当入队列时,若队列已满,则阻塞调用者;当出队列时,若队列为空,则阻塞调用者。,在Conc... 网站建设# blockingqueue# 并发# 调用者 2年前330
再次聊聊并发编程:并发容器 AQS内部的阻塞队列实现原理:基于双向链表,通过对head/tail进行CAS操作,实现入队和出队。,ConcurrentLinkedQueue 的实现原理和AQS 内部的阻塞队列类似:同样是基于 C... 网站建设# aqs# head# tail 2年前2100
成本低误差小,携程基于 Kafka 的 Serverless 延迟队列的实践 作者简介,Pin,关注 RPC、Service Mesh、Serverless 等云原生技术。,随着上云项目的不断推进,大量的应用需要部署到 aws 上,其中有很多应用都依赖延迟队列的功能。而在 aw... 网站建设# aws# kafka# 延迟 2年前130
我们一起聊聊并发编程:线程池 下图所示为线程池的实现原理:调用方不断地向线程池中提交任务;线程池中有一组线程,不断地 从队列中取任务,这是一个典型的生产者—消费者模型。,,要实现这样一个线程池,有几个问题需要考虑:,1. 队列设置... 网站建设# 任务# 池中# 线程 2年前440
美团一面:循环队列听说过么,怎么实现? 队列的底层是数组,我们常说的队列其实就是顺序队列,其数据结构定义一般是:,为了避免当只有一个元素时,队头和队尾重合使处理变得麻烦,所以这里引入了队头和队尾两个指针,假设 front 指针指向队头元素... 网站建设# 出队# 对微# 指针 2年前270
你心心念念的RabbitMQ个人实践来了来了它来了 MQ(Message Queue)就是消息队列,其有点有很多:解耦、异步、削峰等等,本文来聊一下RabbitMQ的一些概念以及使用。,Springboot整合RabbitMQ简单案例,,发布消息到Ra... 网站建设# rabbitmq# ttl# 交换机 3年前190
用栈实现队列 & 用队列实现栈 ,栈和队列都是一种数据结构,它们的作用都是存储。,每种数据结构都有着其对应的特性。队列的特性是先进先出,而栈的特性是先进后出:,,只有满足了它们的以上特性,一个数据结构才能被称为栈或者队列。,接下来我... 网站建设# api# 原素# 数据结构 3年前460
面试官:阻塞队列有了解过吗? ,本节就一起探讨一下什么是阻塞队列,一起来看下吧!,我们先说一下为什么要引入阻塞队列。我们知道服务器的资源是有限的,就拿典型的生产者和消费者模型来讲。,消费者如果没有东西可以消费了,但是它还是在一直执... 网站建设# 我们# 本节# 生产者 3年前430
调度线程池ScheduledThreadPoolExecutor源码解析 ScheduledThreadPoolExecutor可以用来很方便实现我们的调度任务,具体使用可以参考调度线程池ScheduledThreadPoolExecutor的正确使用姿势这篇文章,那大家知... 网站建设# scheduledthreadpoolexecutor# 任务# 线程 3年前260
Chronicle Queue入门 作者丨Shaolang Ai, 译者 | 杨晓娟, 用Chronicle Queue构建的应用程序不会让生产者放慢将消息放入队列的速度(没有背压机制)。, Chronicle Queue(编年史队列... 网站建设# chronicle# queue# 生产者 3年前720
用Redis实现延迟队列,我研究了两种方案,发现并不简单 前段时间有个小项目需要使用延迟任务,谈到延迟任务,我脑子第一时间一闪而过的就是使用消息队列来做,比如RabbitMQ的死信队列又或者RocketMQ的延迟队列,但是奈何这是一个小项目,并没有引入MQ... 网站建设# mq# redis# 延迟 3年前350
醒醒吧,你根本不适合用事件驱动架构 当下,随着微服务的兴起,容器化技术的发展,以及云原生、serverless 概念的普及,事件驱动再次引起业界的广泛关注。,所谓事件驱动的架构,也就是使用事件来实现跨多个服务的业务逻辑。事件驱动架构是一... 网站建设# 事件驱动# 时间# 服务 3年前470
RabbitMQ系列之Hello World 大家好,我是指北君。,在工作中经常会用到消息队列处理各种问题,今天指北君带领大家来学一个很常用到的技术-RabbitMQ;接下来还会有关于RabbitMQ的系列教程。,队列:一种数据结构,先进先出... 网站建设# docker# rabbitmq# 指北君 3年前230
硬核剖析AQS源码,深入理解底层架构设计 我们常见的并发锁ReentrantLock、CountDownLatch、Semaphore、CyclicBarrier都是基于AQS实现的,所以说不懂AQS实现原理的,就不能说了解Java锁。,上篇... 网站建设# aqs# 加锁# 源码 3年前500
为什么使用消息队列?我这样回答,面试官直说讲得很清楚 为什么要使用消息队列,六个字总结:解耦、异步、消峰。,传统模式下系统间的耦合性太强。怎么说呢,举个例子:系统 A 通过接口调用发送数据到 B、C、D 三个系统,如果将来 E 系统接入或者 B 系统不需... 网站建设# 发送数据# 消息# 系统 3年前240
新来个技术总监,把 RabbitMQ 讲的那叫一个透彻,佩服! 常见的消息队列很多,主要包括 RabbitMQ、Kafka、RocketMQ 和 ActiveMQ,相关的选型可以看我之前的系列,这篇文章只讲 RabbitMQ,先讲原理,后搞实战。,文章很长,如果你... 网站建设# rabbitmq# 模式# 消息 3年前580
线上真实排队系统重构案例分享 1、现状:,* 目前线上乘客排队性能瓶颈很明显,主要采用Redis List存储结构。随着队列中订单量增大,查询、插入、判断订单是否在队列中等操作RT指数级增长。,* 目前乘客排队架构,无法满足业务... 网站建设# 乘客# 入队# 出队 3年前640
容量调度绝对值配置队列使用与避坑 ,在 yarn 中,对于容量调度而言,需要配置不同的队列,并为队列分配不同的资源。然而资源的配置是按照集群总资源的百分比来的,那么,如果集群资源进行扩容,队列的资源也就相应的增加了。在某些场景下, 我... 网站建设# 绝对值# 資源# 配置 3年前310
分布式消息队列:顺序消息的基础逻辑 分布式消息队列是分布式系统架构中的关键组件,主要用于解决应用耦合、异步消息、流量削峰的问题。随着业务逻辑的拆分和业务系统的微服务改造,不仅要求消息队列在性能和可靠性上有充分保障,也对其在一些特殊业务场... 网站建设# partition# 分布式# 消息 3年前700
为什么kafka性能下降这么快,我用RocketMQ的时候不会这样子 Rocketmq和kafka这两个消息队列大家应该都比较熟悉吧,哪怕不是很熟悉,应该也听说过的吧,你别告诉我,作为一个资深的程序员,你没听过这两门技术。,我之前使用这两个消息队列的时候就遇到一个很奇... 网站建设# kafka# rocketmq# 消息 4年前490
哪个版本的JVM最快? Chronicle Queue是一个持久性的低延迟Java消息传递框架。它适用于具有高性能的关键性应用程序。由于Chronicle Queue运行在映射到本地的内存上,因此它消除了垃圾收集的需求,并为... 网站建设# chronicle# queue# 消息 4年前2130
消息中间件应用的常见问题与方案 消息队列(MQ)中间件已经普及很多年了,在互联网应用中,通常稍大一些的应用,我们都可以见到MQ的身影。当前市面上有很多中消息中间件,包括但不限于RabbitMQ、RocketMQ、ActiveMQ、K... 网站建设# mq# 中间件# 消息 4年前450
Dapr 入门教程之消息队列 ,前面我们了解了 Dapr 对发布订阅的支持,本节我们将来介绍了 Dapr 中对消息队列的支持。消息队列,分为两种绑定,一种是输出绑定,一种是输入绑定。出和入是看数据的流向,输出绑定就是作为生产者的服... 网站建设# dapr# 总线# 消息 4年前160
Python中的Deque: 实现高效的队列和堆栈 Python 中的 deque 是一个低级别的、高度优化的双端队列,对于实现优雅、高效的Pythonic 队列和堆栈很有用,它们是计算中最常见的列表式数据类型。,本文中,云朵君将和大家一起学习如下... 网站建设# deque# python# 列表 4年前440
js macrotask和microtask的比较 ,1、两者的任务都会放在任务队列中,等待某个时间被主线程执行。,其实任务队列分为宏任务队列和微任务队列,分别是宏任务和微任务。,2、macrotask(宏任务)浏览器可以在下一个macrotask执行... 网站建设# macrotask# microtask# 任务 4年前330
面试官:阻塞队列的底层实现有了解过吗? ,本节以ArrayBlockingQueue为例, 带大家看下阻塞队列是如何实现,一起来看下吧!,同样的,我们先从它的构造函数看起。,上节我们使用的就是它的默认用法,公平锁和非公平锁我们之前讲... 网站建设# arrayblockingqueue# 我们# 构造函数 4年前370
构建高性能内存队列:Disruptor yyds~ Java中有哪些队列,我们清楚使用锁的性能比较低,尽量使用无锁设计。接下来就我们来认识下Disruptor。,github地址:https://github.com/LMAX-Exchange/dis... 网站建设# disruptor# github# 数组 4年前450
几种限流算法的Go语言实现 与令牌桶是“反向”的算法,当有请求到来时先放到木桶中,worker以固定的速度从木桶中取出请求进行相应。 如果木桶已经满了,直接返回请求频率超限的错误码或者页面,流量最均匀的限流方式,一般用于流量“整... 网站建设# channel# worker# 木桶 4年前240
搭了一个RocketMQ高可用集群,同事直呼哇塞! RocketMQ作为阿里系的一款开源的MQ中间件,经历了双十一的高并发场景的消息流转,能够处理万亿级别的消息。,这篇文章将作为《RocketMQ 进阶》专栏的第一篇文章,介绍一下实际生产中如何搭建一个... 网站建设# rocketmq# 系统# 耦合 4年前660
php消息队列的介绍 ,说明,1、消息队列是存放在内存中的一个队列。,2、由于消息队列去数据是,只有一个进程能去到,所以不需要额外的锁或信号量。,实例,以上就是php消息队列的介绍,希望对大家有所帮助。 更多php学习指路... 网站建设# php# 信号量# 教程 4年前460
使用 JavaScript 的数据结构:堆栈和队列 Web 开发中最常用的两种数据结构是堆栈和队列。许多 Internet 用户,包括 Web 开发人员,都没有意识到这一惊人的事实。如果您是这些开发人员中的一员,那么请准备好两个具有启发性的示例:文本... 网站建设# web# 堆栈# 开发人员 4年前230
消息队列堆积太多,下游处理不过来怎么办呢? 作为后端程序员日常工作中难免会遇到要跟消息队列打交道的时候,而且在当下微服务的场景下,很多服务的性能不是我们自己能控制的。,这不阿粉最近就遇到了一个场景,由于上游服务流量增加,发送到消息队列的消息增多... 网站建设# 下游# 服务# 消息 4年前310
Python编程:集合工具类之Deque及UserString和UserList 本文继续来盘Python内置集合模块,本期介绍其中的工具类双端队列类(Deque)、用户列表类(UserList)和UserString类的使用。我们还是采用“短平快”的模式——文字+代码,助你多“快... 网站建设# deque# python# 双端 4年前560
看 Serverless Task 如何解决任务调度&可观测性中的问题 任务调度多指系统根据当前负载情况,将不同任务放到合适的计算资源中去执行的相关操作。一个完善的调度系统往往需要平衡不同特点的任务间的隔离以及效率最优这两个需求。函数计算异步任务采用了独立队列模型及自动负... 网站建设# 任务# 任务调度# 异步 4年前480
Spring Boot 使用 Disruptor 做内部高性能消息队列 工作中遇到项目使用Disruptor做消息队列,对你没看错,不是Kafka,也不是rabbitmq。Disruptor有个最大的优点就是快,还有一点它是开源的哦,下面做个简单的记录。,先从了解 Dis... 网站建设# disruptor# 交换# 对象 4年前330
一篇文章带你了解高可用架构分析 消息中间件是指在分布式系统中完成消息的发送和接收的基础软件。消息中间件也可以称消息队列(Message Queue / MQ),互联网场景中经常使用消息中间件进行消息路由、订阅发布、异步处理等操作,来... 网站建设# kafka# 消息# 消息中间件 4年前190
从头开始进行CUDA编程:流和事件 前两篇文章我们介绍了如何使用GPU编程执行简单的任务,比如令人难以理解的并行任务、使用共享内存归并(reduce)和设备函数。为了提高我们的并行处理能力,本文介绍CUDA事件和如何使用它们。但是在深入... 网站建设# cuda# gpu# 内核 5年前230
RabbitMQ是如何实现消息路由的? RabbitMQ 是一个基于 AMQP 协议实现的分布式消息中间件。AMQP 的具体工作机制是,,,生产者把消息发送到 RabbitMQ Broker 上的Exchange 交换机上。Exchange... 网站建设# exchange# rabbitmq# 消息 5年前210
拆解一下消息队列、任务队列、任务调度系统 ,最近调研了下任务调度系统中间件,包括xxl-job、elastic-job等,发现跟任务队列有一些类似的能力,比如通过API(事件)触发任务执行。,随即想到,能否用任务调度系统覆盖任务队列的场景呢... 网站建设# 中间件# 任务# 任务调度 5年前420