8.消息重试 / 消息幂等性问题
摘要:一、消息重试 1. 在什么情况下消费者需要实现重试策略? A.消费者获取消息后,调用第三方接口,但是调用第三方接口失败呢?是否需要重试? 该情况下需要实现重试策略,网络延迟只是暂时调用不通,重试多次有可能会调用通。 B.消费者获取消息后,因为代码问题抛出数据异常,是否需要重试? 该情况下是不需要实现
阅读全文
7.死信队列学习
摘要:一、死信概述 死信队列产生的背景 RabbitMQ死信队列俗称,备胎队列;消息中间件因为某种原因拒收该消息后,可以转移到死信队列中存放,死信队列也可以有交换机和路由key等。 产生死信队列的原因 (前提是设置了死信队列) 消息投递到MQ中存放 消息已经过期 消费者没有及时消费,服务器中的消息过期之后
阅读全文
6.搭建demo模拟mq跨项目异步调用
摘要:一、创建maven项目并引入依赖 · pom.xml 1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven.apache.org/POM/4.0.0" 3 xmlns:xsi="http://www.w3.or
阅读全文
5.RabaitMQ四种交换机demo
摘要:一、Direct exchange(直连交换机) 当交换机类型为direct类型时,根据队列绑定的路由建转发到具体的队列中存放消息 1.Producer 1 package com.miaoshaProject.mq.exchange.demo_direct; 2 3 import com.miao
阅读全文
4.RabbitMQ开启五个线程分别生产100条消息 / 开启两个线程消费消息 / 消费者实现工作队列
摘要:一、RabbitMQProducer 1 package com.miaoshaProject.mq; 2 3 import com.rabbitmq.client.Channel; 4 import com.rabbitmq.client.Connection; 5 6 import java.i
阅读全文
3.基于rabbitMQ实现基本生产者消费者框架
摘要:一、Erlang和rabbitMQ的安装 略。 二、网页端(http://127.0.0.1:15672)操作 1.创建Virtual Host 2.设置user 1.点击host名称 2.设置权限 3.创建队列 三、编写Java代码 1.pom.xml <!-- https://mvnreposi
阅读全文
2.基于多线程 / netty实现简单MQ
摘要:一、基于多线程搭建简单MQ 1 package com.miaoshaProject.mq.demo; 2 3 import com.alibaba.dubbo.common.json.JSONObject; 4 import com.fasterxml.jackson.databind.util.
阅读全文
1.MQ概述
摘要:什么是消息中间件 消息中间件基于队列模型实现异步/同步传输数据 作用:可以实现支撑高并发、异步解耦、流量削峰、降低耦合度。 传统的http请求存在那些缺点 1.Http请求基于请求与响应的模型,在高并发的情况下,客户端发送大量的请求达到服务器端有可能会导致我们服务器端处理请求堆积。 2.Tomcat
阅读全文