![](https://img-blog.csdnimg.cn/direct/bf62a84e383b4044b24a498b8a526882.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
消息队列:探索消息架构的未知领域
文章平均质量分 65
消息队列技术的精髓之地,专注于分享消息队列的设计原理、应用场景以及性能调优。无论你是消息队列新手还是经验丰富的开发者,我们将为你呈现清晰解读、实际案例和前沿技术。通过深度剖析消息队列的内部机制,助你在异步通信的世界中游刃有余。
薛伟同学
全栈开发;开源项目作者;技术经理;CSDN 优秀创作者;博客之星;专注于 Java、微服务领域,点个关注,变优秀的路上拉上你!
展开
-
RabbitMQ轻松入门:从零开始的部署与安装指南
RabbitMQ作为一款强大的消息队列系统,在现代应用中发挥着重要作用。本文将为你提供从零开始部署和安装RabbitMQ的详细指南,涵盖了系统要求、下载、配置以及启动的全过程。我们将介绍RabbitMQ的基本概念,以及如何在不同平台上安装和配置RabbitMQ服务。通过学习本文,你将能够轻松搭建起一个可靠的消息队列系统,提高应用的可扩展性和性能。原创 2024-01-03 10:08:49 · 536 阅读 · 0 评论 -
什么是消息队列
MQ(message queue),从字面意思上看,本质是个队列,FIFO 先入先出队列,只不过队列中存放的内容是 message 而已,还是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中,MQ 是一种非常常见的上下游“逻辑解耦+物理解耦”的消息通信服务。使用了 MQ 之后,消息发送上游只需要依赖 MQ,不用依赖其他服务。原创 2023-11-29 23:10:35 · 759 阅读 · 0 评论 -
RabbitMQ消息的应答
消息发送后立即被认为已经传送成功,这种模式需要在高吞吐量和数据传输安全性方面做权衡,因为这种模式如果消息在接收到之前,消费者那边出现连接或者 channel 关闭,那么消息就丢失了,当然另一方面这种模式消费者那边可以传递过载的消息,没有对传递的消息数量进行限制,当然这样有可能使得消费者这边由于接收太多还来不及处理的消息,导致这些消息的积压,最终使得内存耗尽,最终这些消费者线程被操作系统杀死,所以这种模式仅适用在消费者可以高效并以某种速率能够处理这些消息的情况下使用。不处理该消息了直接拒绝,可以将其丢弃了。原创 2023-11-29 23:07:55 · 631 阅读 · 0 评论 -
SpringBoot整合RabbitMQ
【代码】SpringBoot整合RabbitMQ。原创 2023-11-29 23:07:08 · 585 阅读 · 0 评论 -
RabbitMQ消息模型之Routing-Topic
Topic类型的Exchange与Direct相比,都是可以根据RoutingKey把消息路由到不同的队列。只不过Topic类型Exchange可以让队列在绑定Routing key的时候使用通配符!原创 2023-11-29 23:05:56 · 486 阅读 · 0 评论 -
RabbitMQ消息模型之Routing-Direct
在Fanout模式中,一条消息,会被所有订阅的队列都消费。但是在某些场景下,我们希望不同的消息被不同的队列消费。这时就要用到Direct类型的Exchange。原创 2023-11-29 23:03:38 · 516 阅读 · 0 评论 -
RabbitMQ消息模型之发布订阅Publish-Subscribe
发布订阅模型也称为广播模型,交换机类型需要指定为Fanout,正如从名称中猜到的那样,它是将接收到的所有消息广播到它知道的所有队列中。每个消费者都监听自己的队列,所以同一个消息,会被所有的消费者共同消费。Fanout 这种交换类型并不能给我们带来很大的灵活性,它只能进行无意识的广播。两个消费者同时都收到了消息。原创 2023-11-29 23:02:40 · 620 阅读 · 0 评论 -
RabbitMQ消息模型之Work Queues
,任务模型,也是官网给出的第二个模型,使用的交换机类型是直连direct,也是默认的交换机类型。当消息处理比较耗时的时候,可能生产消息的速度会远远大于消息的消费速度。长此以往,消息就会堆积越来越多,无法及时处理。这里使用的生产者和消费者都是一样的,区别是消费者同时运行了两个进程。队列中的消息一旦消费,就会消失,因此任务是不会被重复执行的。可以看到,消息被轮训均匀分配给了两个消费者。Work Queues,也被称为(原创 2023-11-29 23:01:34 · 499 阅读 · 0 评论 -
RabbitMQ消息模型之Sample
这种模式适合于消息任务不是很密集,并且处理任务不算太过耗时的场景。消费者消费的速度赶得上生产者生产的速度。Hello World是官网给出的第一个模型,使用的交换机类型是直连direct,也是默认的交换机类型。此模型中只有一个生产者、一个队列、一个消费者。原创 2023-11-29 23:00:16 · 638 阅读 · 0 评论 -
RabbitMQ的Web管理页面
为了让各个用户可以互不干扰的工作,RabbitMQ添加了虚拟主机(Virtual Hosts)的概念。其实就是一个独立的访问路径,不同用户使用不同路径,各自有自己的队列、交换机,互相不会影响。无论生产者还是消费者,都需要与RabbitMQ建立连接后才可以完成消息的生产和消费,在这里可以查看连接情况。新创建的虚拟主机是没有分配用户的,我们需要点击到详情页面,配置用户。即消息队列,消息存放在队列中,等待消费,消费后被移除队列。建立连接后,会形成通道,消息的投递获取依赖通道。用来实现消息的路由。原创 2023-11-29 22:59:02 · 1615 阅读 · 0 评论 -
CentOS7安装RabbitMQ
服务器系统版本:CentOS7安装RabbitMq版本:3.7.18将此安装包目录下的两个文件上传到服务中备用。原创 2023-11-29 22:48:38 · 573 阅读 · 0 评论 -
RabbitMQ的基本介绍
基于AMQP协议,Erlang语言开发,是部署最广泛的开源消息中间件,是最受欢迎的开源消息中间件之一。AMQP,即,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。高级消息队列协议使得遵从该规范的客户端应用和消息中间件服务器的全功能互操作成为可能。原创 2023-11-29 22:47:13 · 925 阅读 · 0 评论 -
CentOS7安装RabbitMQ
rabbitmq是基于erlang语言开发的,所以安装mq之前必须先安装erlang下载erlang和rabbitmq下载的时候访问国外地址会非常的慢,我把下载到的文件放到了网盘上,大家可以点击 下载erlang | 下载rabbitmq。下载之后得到这两个文件,之后可以使用WinSCP或者Xshell上传到Linux服务器安装一些依赖支持yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wge原创 2021-10-12 10:25:51 · 71 阅读 · 0 评论 -
Kafka集群的搭建与批量启停
什么是Kafka?Kafka是一个分布式的基于发布/订阅模式的消息队列(MessageQueue),主要应用于大数据实时处理领域。最新官方给Kafka的定义是一个开源的分布式事件流平台(Event Streaming Platform),被数千家公司用于高性能数据管道、流分析、数据集成和关键任务应用。Kafka集群的搭建部署服务器发行版本为CentOS7 ✖️ 三台(已安装好Java环境),三台服务器的IP为:192.168.182.4192.168.182.5192.168.182.6部原创 2022-03-29 10:13:06 · 2812 阅读 · 1 评论 -
Redis发布订阅:美丽的陷阱与不宜之境
本文将揭示Redis发布订阅模型在某些情况下可能不是最佳选择的原因。尽管Redis是一个强大的缓存和内存数据库,但在构建发布订阅系统时,其特定特性可能会受到一些限制。我们将深入探讨消息持久性、交付保证以及其他高级特性方面的局限性,帮助读者在选择消息中间件时权衡利弊。原创 2021-08-09 17:33:48 · 5078 阅读 · 0 评论