摘要: 死信队列是什么 死信,Dead Letter,一种消息机制,当消费者去消费队列中的消息时,如果队列中的消息出现了以下的情况: 消费端执行nack或者reject时,设置requeue=false; 消息在队列中的时间超过设置的TTL(Time To Live)时间; 队列中消息的数量超过设置的最大数 阅读全文
posted @ 2020-09-18 14:29 一步一年 阅读(1856) 评论(0) 推荐(1) 编辑
摘要: 消费端在处理消息过程中可能会报错,此时该如何重新处理消息呢?解决方案有以下两种。 在redis或者数据库中记录重试次数,达到最大重试次数以后消息进入死信队列或者其他队列,再单独针对这些消息进行处理; 使用spring-rabbit中自带的retry功能; 第一种方案我们就不再详细说了,我们主要来看一 阅读全文
posted @ 2020-09-18 14:26 一步一年 阅读(26887) 评论(0) 推荐(5) 编辑
摘要: 消息的可靠性投递是使用消息中间件不可避免的问题,不管是使用kafka、rocketMQ或者rabbitMQ,那么在RabbitMQ中如何保证消息的可靠性投递呢? 先再看一下RabbitMQ消息传递的流程图: 从上面的图可以看到,消息的投递有三个对象参与: 生产者 RabbitMQ(broker) 消 阅读全文
posted @ 2020-09-18 14:20 一步一年 阅读(1700) 评论(0) 推荐(1) 编辑
摘要: RabbitMQ中,生产者并不是直接将消息发送给queue,而是先将消息发送给exchange,再由exchange通过不同的路由规则将消息路由到绑定的队列中进行存储,那么为什么要先将消息发送给exchange而不是直接发送给queue呢? 理解Exchange 为什么要在生产者和queue之间多一 阅读全文
posted @ 2020-09-18 14:13 一步一年 阅读(664) 评论(0) 推荐(0) 编辑
摘要: 前面我们已经了解了RabbitMQ的一些基本概念和原理,今天进入实战篇,在springboot框架中集成RabbitMQ,默认已经创建一个Springboot项目。 添加pom依赖 在pom.xml文件中引入以下依赖: <dependency> <groupId>org.springframewor 阅读全文
posted @ 2020-09-18 14:08 一步一年 阅读(1292) 评论(0) 推荐(0) 编辑
摘要: AMQP协议 AMQP: Advanced Message Queue,高级队列协议。 特征: 这是一个在进程间传递异步消息的网络协议,因此数据的发送方、接收方以及容器(MQ)都可以在不同的设备上。 主要特征是面向消息、队列、灵活的路由、可靠性、安全性等 支持符合要求的客户端和消息中间件代理之间进行 阅读全文
posted @ 2020-09-18 14:04 一步一年 阅读(392) 评论(0) 推荐(0) 编辑
摘要: 环境准备 Centos 7.5虚拟机三台: 192.168.102.128 192.168.102.130 192.168.102.131 以上虚拟机统一安装docker环境 三台机器分别配置如下所示的hosts文件,以供rabbitmq容器使用 $ vim /home/rabbitmq/hosts 阅读全文
posted @ 2020-09-18 14:02 一步一年 阅读(922) 评论(0) 推荐(0) 编辑
摘要: 环境准备 Centos 7.5 docker环境 安装步骤 拉取镜像 $ docker pull rabbitmq:management 说明: 获取rabbiymq镜像的时候要记得获取management版本,不要获取last版本的,只有management版本才带有管理界面,方便进行可视化操作。 阅读全文
posted @ 2020-09-18 13:59 一步一年 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 安装chrome 创建yum源 # cd /etc/yum.repos.d/ # vim google-chrome.repo 创建yum源信息 [google-chrome] name=google-chrome baseurl=http://dl.google.com/linux/chrome/ 阅读全文
posted @ 2020-09-18 13:56 一步一年 阅读(1504) 评论(1) 推荐(0) 编辑
摘要: CentOS环境下部署Springboot项目的jar包开机自启动。 部署环境 Centos 7.5 Springboot 2.1.x 操作步骤 修改pom 在pom.xml文件中<plugin>标签中添加以下代码: <plugin> <groupId>org.springframework.boo 阅读全文
posted @ 2020-09-18 13:43 一步一年 阅读(1604) 评论(0) 推荐(0) 编辑
摘要: docker安装redis主从以及哨兵 本文使用docker在四台机器上部署一主二从三哨兵的Redis主从结构。 服务器配置 192.168.102.128 主节点 centos7.5 192.168.102.130 从节点 centos7.5 192.168.102.131 从节点 centos7 阅读全文
posted @ 2020-09-18 13:41 一步一年 阅读(398) 评论(0) 推荐(0) 编辑
摘要: 在IDEA中开发springboot项目时,每次修改代码后都需要手动重启项目比较麻烦,可以通过添加一定的配置使每次修改代码后项目进行自动重启 在IDEA中开发springboot项目时,每次修改代码后都需要手动重启项目比较麻烦,可以通过添加一定的配置使每次修改代码后项进自动。 新建项目 创建测试项目 阅读全文
posted @ 2020-09-18 13:38 一步一年 阅读(2173) 评论(0) 推荐(0) 编辑
摘要: Maven项目中,为了保持引用依赖的一致性,一般会抽出一个parent层,用来管理子项目的maven依赖,对于依赖的管理有两种方式,分别是dependencies以及dependencyManagement,那么这两者有什么区别呢? 区别 两者都可以引入maven依赖,但是主要的区别有以下几点: d 阅读全文
posted @ 2020-09-18 13:31 一步一年 阅读(685) 评论(0) 推荐(0) 编辑
摘要: 最近在使用springboot整合shardingsphere和druid实现mysql数据库读写分离时遇到了一些问题,特此记录一下。 依赖版本 Springboot 2.1.6.RElEASE shardingsphere 4.1.1 druid 1.1.23 需要的依赖如下: <dependen 阅读全文
posted @ 2020-09-18 13:25 一步一年 阅读(5745) 评论(10) 推荐(0) 编辑
摘要: springboot使用logback滚动生成日志后,/actuator/logfile访问404问题处理 阅读全文
posted @ 2020-09-18 13:24 一步一年 阅读(1612) 评论(1) 推荐(1) 编辑