- 1、MQ引言 1.1 什么是MQMQ(Message Quene) : 翻译为消息队列,通过典型的 生产者和消费者模型,生产者不断向消息队列中生产消息,消费者不断的从队列中获取消息。因为消息的生产和消费都是异步的,而且只关心消息的发送和接收,没有业务逻辑的侵入,轻松的实现系统间解耦。别名为 消息中间件通过利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成... 1、MQ引言 1.1 什么是MQMQ(Message Quene) : 翻译为消息队列,通过典型的 生产者和消费者模型,生产者不断向消息队列中生产消息,消费者不断的从队列中获取消息。因为消息的生产和消费都是异步的,而且只关心消息的发送和接收,没有业务逻辑的侵入,轻松的实现系统间解耦。别名为 消息中间件通过利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成...
- 前言我们之前介绍了RabbitMQ的五种模型(详见上方系列文章《RabbitMQ灵活运用,怎么理解五种消息模型》),即简单、轮询、主题、发布/订阅、路由、主题五种模式。除此之外,rabbitMQ还提供了一种 RPC 模式,这种模式是怎么回事?真的好用吗?一起来了解下一、RPC 及 RabbitMQ-RPC模型1. RPC概念RPC是指远程过程调用(Remote Procedure Call)... 前言我们之前介绍了RabbitMQ的五种模型(详见上方系列文章《RabbitMQ灵活运用,怎么理解五种消息模型》),即简单、轮询、主题、发布/订阅、路由、主题五种模式。除此之外,rabbitMQ还提供了一种 RPC 模式,这种模式是怎么回事?真的好用吗?一起来了解下一、RPC 及 RabbitMQ-RPC模型1. RPC概念RPC是指远程过程调用(Remote Procedure Call)...
- 前言在前面的选型对比中,我们提到了rabbitMQ同时支持推和拉的消息投递方式,那么什么是消息的推和拉?我们又该如何选择呢?今天我们就一起来看下吧一、推拉两种模式的概念MQ 是一个非常重要的消息传递架构,它可以实现解耦并且提高系统的可靠性和吞吐量。 在很多MQ组件中,消息可以通过推和拉模式进行传递。推模式在推模式下,当一个生产者发布消息到队列时,队列会立即将这条消息发送给所有订阅了该队列的消... 前言在前面的选型对比中,我们提到了rabbitMQ同时支持推和拉的消息投递方式,那么什么是消息的推和拉?我们又该如何选择呢?今天我们就一起来看下吧一、推拉两种模式的概念MQ 是一个非常重要的消息传递架构,它可以实现解耦并且提高系统的可靠性和吞吐量。 在很多MQ组件中,消息可以通过推和拉模式进行传递。推模式在推模式下,当一个生产者发布消息到队列时,队列会立即将这条消息发送给所有订阅了该队列的消...
- Kafka、ZeroMQ和RabbitMQ是非常流行的消息中间件,对于这三种消息中间件,开发者在选型中往往难以下手,本文会着重介绍每种MQ的原理、使用场景,还会对三种MQ进行比较,希望看完本文,对于您了解Kafka、ZeroMQ和RabbitMQ有所帮助! Kafka、ZeroMQ和RabbitMQ是非常流行的消息中间件,对于这三种消息中间件,开发者在选型中往往难以下手,本文会着重介绍每种MQ的原理、使用场景,还会对三种MQ进行比较,希望看完本文,对于您了解Kafka、ZeroMQ和RabbitMQ有所帮助!
- @toc 1、概念 消费者完成一个任务可能需要一段时间,如果其中一个消费者处理一个长的任务并且只完成了部分它挂掉了,会发生什么情况。RabbitMQ一旦向消费者传递了一条消息,便立即将该消息标记为删除。在这种情况下,突然有个消费者挂掉了,我们将丢失正在处理的消息。以及后续发送给该对象的消息,因为它无法接收到。 为了保证消息在发送过程中不丢失,RabbitMQ引入了消息应答机制,消息应答就... @toc 1、概念 消费者完成一个任务可能需要一段时间,如果其中一个消费者处理一个长的任务并且只完成了部分它挂掉了,会发生什么情况。RabbitMQ一旦向消费者传递了一条消息,便立即将该消息标记为删除。在这种情况下,突然有个消费者挂掉了,我们将丢失正在处理的消息。以及后续发送给该对象的消息,因为它无法接收到。 为了保证消息在发送过程中不丢失,RabbitMQ引入了消息应答机制,消息应答就...
- @toc 1、概念 刚刚我们已经看到了如何处理任务不丢失的情况,但是如何保障当 RabbitMQ 服务停掉以后消息生产者发送过来的消息不丢失。默认情况下 RabbitMQ 退出或由于某种原因崩溃时,它忽视队列和消息,除非告知它不要这样做。确保消息不会丢失需要做两件事:我们需要将队列和消息都标记为持久化。 2、队列如何实现持久化 之前我们创建的队列都是非持久化的,RabbitMQ如果重启的... @toc 1、概念 刚刚我们已经看到了如何处理任务不丢失的情况,但是如何保障当 RabbitMQ 服务停掉以后消息生产者发送过来的消息不丢失。默认情况下 RabbitMQ 退出或由于某种原因崩溃时,它忽视队列和消息,除非告知它不要这样做。确保消息不会丢失需要做两件事:我们需要将队列和消息都标记为持久化。 2、队列如何实现持久化 之前我们创建的队列都是非持久化的,RabbitMQ如果重启的...
- @toc 1、Exchanges 1.1、Exchanges概念 RabbitMQ 消息传递模型的核心思想是: 生产者生产的消息从不会直接发送到队列。实际上,通常生产者甚至都不知道这些消息传递传递到了哪些队列中。 相反,生产者只能将消息发送到交换机(exchange),交换机工作的内容非常简单,一方面它接收来自生产者的消息,另一方面将它们推入队列。交换机必须确切知道如何处理收到的消息。是... @toc 1、Exchanges 1.1、Exchanges概念 RabbitMQ 消息传递模型的核心思想是: 生产者生产的消息从不会直接发送到队列。实际上,通常生产者甚至都不知道这些消息传递传递到了哪些队列中。 相反,生产者只能将消息发送到交换机(exchange),交换机工作的内容非常简单,一方面它接收来自生产者的消息,另一方面将它们推入队列。交换机必须确切知道如何处理收到的消息。是...
- @toc 1、死信队列的概念 先从概念解释上搞清楚这个定义,死信,顾名思义就是无法被消费的消息,字面意思可以这样理解,一般来说,producer 将消息投递到 broker 或者直接到 queue 里了,consumer 从 queue 取出消息进行消费,但某些时候由于特定的原因导致 queue 中的某些消息无法被消费,这样的消息如果没有后续的处理,就变成了死信,有死信自然就有了死信队列。... @toc 1、死信队列的概念 先从概念解释上搞清楚这个定义,死信,顾名思义就是无法被消费的消息,字面意思可以这样理解,一般来说,producer 将消息投递到 broker 或者直接到 queue 里了,consumer 从 queue 取出消息进行消费,但某些时候由于特定的原因导致 queue 中的某些消息无法被消费,这样的消息如果没有后续的处理,就变成了死信,有死信自然就有了死信队列。...
- @toc 1、延迟队列概念 延时队列,队列内部是有序的,最重要的特性就体现在它的延时属性上,延时队列中的元素是希望 在指定时间到了以后或之前取出和处理,简单来说,延时队列就是用来存放需要在指定时间被处理的 元素的队列。 2、延迟队列使用场景订单在十分钟之内未支付则自动取消新创建的店铺,如果在十天内都没有上传过商品,则自动发送消息提醒。用户注册成功后,如果三天内没有登陆则进行短信提醒。用户发... @toc 1、延迟队列概念 延时队列,队列内部是有序的,最重要的特性就体现在它的延时属性上,延时队列中的元素是希望 在指定时间到了以后或之前取出和处理,简单来说,延时队列就是用来存放需要在指定时间被处理的 元素的队列。 2、延迟队列使用场景订单在十分钟之内未支付则自动取消新创建的店铺,如果在十天内都没有上传过商品,则自动发送消息提醒。用户注册成功后,如果三天内没有登陆则进行短信提醒。用户发...
- @toc 1、幂等性 1.1 概念 用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用。 举个最简单的例子,那就是支付,用户购买商品后支付,支付扣款成功,但是返回结果的时候网络异常, 此时钱已经扣了,用户再次点击按钮,此时会进行第二次扣款,返回结果成功,用户查询余额发现多扣钱 了,流水记录也变成了两条。在以前的单应用系统中,我们只需要把数据操作放入... @toc 1、幂等性 1.1 概念 用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用。 举个最简单的例子,那就是支付,用户购买商品后支付,支付扣款成功,但是返回结果的时候网络异常, 此时钱已经扣了,用户再次点击按钮,此时会进行第二次扣款,返回结果成功,用户查询余额发现多扣钱 了,流水记录也变成了两条。在以前的单应用系统中,我们只需要把数据操作放入...
- @[toc] 1、Federation Exchange(联邦交换机) 1.1 为什么使用联邦交换机 (broker 北京),(broker 深圳)彼此之间相距甚远,网络延迟是一个不得不面对的问题。有一个在北京 的业务(Client 北京) 需要连接(broker 北京),向其中的交换器 exchangeA 发送消息,此时的网络延迟很小, (Client 北京)可以迅速将消息发送至 exc... @[toc] 1、Federation Exchange(联邦交换机) 1.1 为什么使用联邦交换机 (broker 北京),(broker 深圳)彼此之间相距甚远,网络延迟是一个不得不面对的问题。有一个在北京 的业务(Client 北京) 需要连接(broker 北京),向其中的交换器 exchangeA 发送消息,此时的网络延迟很小, (Client 北京)可以迅速将消息发送至 exc...
- @[toc](SpringCloud Bus消息总线)这篇主要是为了配合上一篇SpringCloudConfig分布式配置中心实现配置的动态刷新功能。衔接这一篇文章:SpringCloud Config分布式配置中心仓库地址:Gitee仓库地址 1、SpringCloud Bus概述 1.1 什么是SpringCloud Bus? Spring Cloud Bus是用来将分布式系统的节点与... @[toc](SpringCloud Bus消息总线)这篇主要是为了配合上一篇SpringCloudConfig分布式配置中心实现配置的动态刷新功能。衔接这一篇文章:SpringCloud Config分布式配置中心仓库地址:Gitee仓库地址 1、SpringCloud Bus概述 1.1 什么是SpringCloud Bus? Spring Cloud Bus是用来将分布式系统的节点与...
- 文章目录前言springboot继承rabbitmq实操生产者服务消费者服务测试 前言 本篇博客是SpringBoot集成RabbitMQ,若文章中出现相关问题,请指出! 所有博客文件目录索引:博客目录索引(持续更新) 博客案例代码可见:Gitee-demoexer/RabbitMQ、Github-javademos/RabbitMQ springboot继承rabbitmq实操 生产者服务 此 文章目录前言springboot继承rabbitmq实操生产者服务消费者服务测试 前言 本篇博客是SpringBoot集成RabbitMQ,若文章中出现相关问题,请指出! 所有博客文件目录索引:博客目录索引(持续更新) 博客案例代码可见:Gitee-demoexer/RabbitMQ、Github-javademos/RabbitMQ springboot继承rabbitmq实操 生产者服务 此
- 文章目录前言交换机工作模式(四种)一、fanout模式1.1、基本概念1.2、代码实操二、direct模式2.1、基本概念2.2、代码实操三、topic模式3.1、基本概念3.2、实战精炼总结 前言 本篇博客是RabbitMQ的四种交换机模式,若文章中出现相关问题,请指出! 所有博客文件目录索引:博客目录索引(持续更新) 博客案例代码可见:Gitee-demoexer/RabbitMQ、Githu 文章目录前言交换机工作模式(四种)一、fanout模式1.1、基本概念1.2、代码实操二、direct模式2.1、基本概念2.2、代码实操三、topic模式3.1、基本概念3.2、实战精炼总结 前言 本篇博客是RabbitMQ的四种交换机模式,若文章中出现相关问题,请指出! 所有博客文件目录索引:博客目录索引(持续更新) 博客案例代码可见:Gitee-demoexer/RabbitMQ、Githu
- 文章目录前言一、第一个生产者与消费者前提准备条件①生产者(发送信息)②消费者(接收信息)二、对消息内容进行处理(一中扩展)三、多个消费者平均压力(三步骤)3.1、前者一、二示例可能会出现问题3.2、实战 前言 本篇博客是RabbitMQ的生产者、消费者案例,若文章中出现相关问题,请指出! 所有博客文件目录索引:博客目录索引(持续更新) 博客案例代码可见:Gitee-demoexer/RabbitM 文章目录前言一、第一个生产者与消费者前提准备条件①生产者(发送信息)②消费者(接收信息)二、对消息内容进行处理(一中扩展)三、多个消费者平均压力(三步骤)3.1、前者一、二示例可能会出现问题3.2、实战 前言 本篇博客是RabbitMQ的生产者、消费者案例,若文章中出现相关问题,请指出! 所有博客文件目录索引:博客目录索引(持续更新) 博客案例代码可见:Gitee-demoexer/RabbitM
上滑加载中
推荐直播
-
GaussDB管理平台TPOPS,DBA高效运维的一站式解决方案
2024/12/24 周二 16:30-18:00
Leo 华为云数据库DTSE技术布道师
数据库的复杂运维,是否让你感到头疼不已?今天,华为云GaussDB管理平台将彻底来改观!本期直播,我们将深入探索GaussDB管理平台的TPOPS功能,带你感受一键式部署安装的便捷,和智能化运维管理的高效,让复杂的运维、管理变得简单,让简单变得可靠。
回顾中 -
走进数据库:数据库基础知识精讲
2024/12/27 周五 16:00-17:30
Steven 华为云学堂技术讲师
数据管理是数据库的核心任务,本期直播将带领大家一起走进数据库,了解期发展趋势、基础模型、架构演进及相关的技术特点。同时还会介绍数据库对象和相关概念,帮助开发者对数据库使用和实践夯实基础。
去报名
热门标签