随笔分类 - mq
摘要:1、为什么要使用MQ 1、流量消峰 举个例子:如果订单系统最多能处理一万次订单,这个处理能力应付正常时段的下单时绰绰有余,正常时段我们下单一秒后就能返回结果。但是在高峰期,如果有两万次下单操作系统是处理不了的,只能限制订单超过一万后不允许用户下单。使用消息队列做缓冲,我们可以取消这个限制,把一秒内下
阅读全文
摘要:本文主要介绍RocketMQ中Topic、Tag、GroupName的概念、设计初衷以及使用方法。 一.Topic 首先看看官方的定义: Topic是生产者在发送消息和消费者在拉取消息的类别。Topic与生产者和消费者之间的关系非常松散。具体来说,一个Topic可能有0个,一个或多个生产者 向它发送
阅读全文
摘要:1、什么是rabbitmq? 答: 采用AMQP高级消息队列协议的一种消息队列技术,最大的特点就是消费并不需要确保提供方存在,实现了服务之间的高度解耦。 2、为什么要使用rabbitmq? 答:1、在分布式系统下具备异步,削峰,负载均衡等一系列高级功能; 2、拥有持久化的机制,进程消息,队列中的信息
阅读全文
摘要:同步 or 异步 前言:我们现在有一个用微服务架构模式开发的系统,系统里有一个商品服务和订单服务,且它们都是同步通信的。 目前我们商品服务和订单服务之间的通信方式是同步的,当业务扩大之后,如果还继续使用同步的方式进行服务之间的通信,会使得服务之间的耦合增大。例如我们登录操作可能需要同步调用用户服务、
阅读全文
摘要:本篇章讲解RabbitMQ的用途、原理以及配置,RabbitMQ的安装请查看SpringCloud之RabbitMQ安装 一、MQ用途 1、同步变异步消息 场景:用户下单完成后,发送邮件和短信通知。 运用消息队列之后,用户下单完之后,下单信息写入数据库,再写入消息队列,发送邮件和发送短信各自去消息队
阅读全文
摘要:文章目录RabbitMQ如何防止消息丢失及重复消费一、消息丢失1.1、生产者没有成功把消息发送到MQ1.1.1、confirm(发布确认)机制1.1.2、事务机制1.2、RabbitMQ接收到消息之后丢失了消息1.3、消费者弄丢了消息二、如何防止重复消费RabbitMQ如何防止消息丢失及重复消费一、
阅读全文
摘要:场景:BDM(实名制系统)同步数据到CRNS(实名制系统) 一,首先建个队列,队列名字为 bdm_empolyeeinfo_crns 二,applicationContext-rabbitmq.xml增加配置 <!--同步BDM员工到实名制start--> <task:executor id="ba
阅读全文
摘要:1.pom配置,添加以来jar包 1 <dependency> 2 <groupId>org.springframework.cloud</groupId> 3 <artifactId>spring-cloud-starter-bus-amqp</artifactId> 4 </dependency
阅读全文