消息队列的使用场景与选型
消息队列(MessageQueue)是一种用于系统或服务之间发送和接收消息的技术。它主要用于在不同的应用程序、系统或服务之间异步地交换数据。消息队列作为一种中间件,提供了缓冲和存储机制,使得发送者和接收者无需同时在线或直接连接,也能进行通信。场景解耦:消息队列可以帮助将应用程序的不同组件解耦,使它们可以独...
MK吃透分布式MQ架构大牛成长课–从0到1手写分布式消息队列中间件
分布式MQ架构中间件是一种在分布式系统中实现异步通信的软件组件。它允许不同的应用或服务之间通过消息进行通信,从而实现解耦、异步处理和流量削峰等目标。MQ中间件通常提供消息的发布/订阅、队列管理、消息持久化等功能,确保消息在分布式环境中的可靠传输。二、分布式MQ架构中间件的核心功能消息发布与订阅:发布者将消...
「清晰易懂」Redis消息队列解决方案
消息队列简述消息队列是一种消息传输过程中用来保存消息的容器,满足先进先出(FIFO)的原则。主要作用:应用解耦、流量削峰、异步通讯。消费模式:点对点、发布/订阅。常用消息队列中间件:Kafka、RocketMQ、RabbitMQ。基于Redis消息队列实现方案Redis消息队列实现方案有三种:基于List的消息队列方案。基于发布/订阅的消息...
消息队列的过去、现在和未来
JMS确实一定程度上解决了MQ之间互通的问题,但当应用通讯底层适配不同的MQ时需要代码去胶合众多不同MQ接口,这使JMS应用程序非常脆弱,可用性下降。很明显,市场急需一个原生支持JMS协议的MQ出现。基于这样的背景,2003年ActiveMQ诞生[13],它是第一个原生支持JMS协议的开源消息队列产品。Ac...
消息中间件应用的常见问题与方案
我们可以认为消息中间件的基本思想就是利用高效可靠的消息传递机制进行异步的数据传输。在这个基本思想的指导下,不同的消息中间,因为其侧重场景目的不同,在功能、性能、整体设计理念上又各有差别。消息队列(MQ)本身是实现了生产者到消费者的单向通信模型,RabbitMQ、RocketMQ、Kafka这些常用的MQ都是指实现了这个模型...
深入理解 RabbitMQ 的前世今生
目标队列是配置为持久化的RabbitMQ持久化消息的方式是常见的写日志方式:当一条持久化消息发送到持久化的Exchange上时,RabbitMQ会在消息提交到日志文件后,才发送响应(www.e993.com)2024年11月5日。一旦这条消息被消费后,RabbitMQ会将会把日志中该条消息标记为等待垃圾收集,之后会从日志中清除。
常见消息中间件大 PK
目前RabbitMQ的最新版本为3.5.7,基于AMQP0-9-1。在AMQP协议中,消息收发涉及到如下一些概念:Broker:接收和分发消息的应用,我们日常所用的RabbitMQ就是一个MessageBroker。Virtualhost:出于多租户和安全因素设计的,把AMQP的基本组件划分到一个虚拟的分组中,类似于网络中的namespace概念。当...
提升RabbitMQ消费速度的一些实践
//1/2是考虑了消息从RabbitMQ到消费者的传输时间,不需要等所有的消息都到达了才开始处理。consumer.Received+=(o,e)=>{lock(receiveLocker){basicDeliverEventArgsList.Add(e);if(basicDeliverEventArgsList.Count>=prefetchCount/2)...
最新基准测试:Kafka、Pulsar 和 RabbitMQ 哪个最快?
为了进行比较,我们选择了一个传统的消息代理RabbitMQ和一个基于ApacheBookKeeper的消息代理ApachePulsar。我们主要关注系统吞吐量和系统延迟,因为它们是生产中事件流处理系统的主要性能指标。具体来说,吞吐量测试测量每个系统在硬件(特别是磁盘和CPU)使用方面的效率。延迟测试测量每个系统传递实时消息的差别,包括...
“云原生”是怎么兴起的?
Pivotal就把:Spring应用框架、CloudFoudry打包部署平台、RabbitMQ消息中间件、GreenPlum数据库都装了进来,好基于VMWare的虚拟机集群平台跑起来。这就是妥妥的PaaS平台和IaaS平台啊。Dell作为一家服务器厂商并购EMC(存储)、VMWare、Pivotal(含Spring、CloudFoudry)打的一手好牌啊。