
RabbiMQ学习笔记
RobertoHuang
只有疯狂到相信自己能改变世界的人 才能真正的去改变世界
展开
-
(一) RabbitMQ实战教程(面向Java开发人员)之RabbitMQ相关概念介绍
前言因为项目组需要对RabbitMQ的使用进行优化,所以系统化的学习了RabbitMQ,记录下来希望能帮助到后续使用RabbitMQ的同学少走弯路。在阅读本博客前我希望您已经对RabbitMQ有了基本的了解,因为本篇博客不是从0到1的讲解RabbitMQ,同时本篇博客主要面向Java开发人员,因此不会涉及到运维相关知识,该系列博客大致分为如下几个模块1.RabbitMQ相关概念介绍2.Rabbit原创 2018-03-12 11:15:47 · 10369 阅读 · 6 评论 -
(二) RabbitMQ实战教程(面向Java开发人员)之Rabbit Java Client
RabbitMQ Java Client在介绍完RabbitMQ基本概念后,我们使用Java代码来模拟一套生产者和消费者的模型。Talk is cheap,直接上代码了(在Demo工程中我会尽可能的应用上常用的方法,但由于篇幅有限所以无法在代码中体现不同交换机的用法,还请多多见谅)相关代码1.创建连接工厂工具类public class ConnectionFactoryUtils { pub原创 2018-03-12 14:02:44 · 7160 阅读 · 1 评论 -
(三) RabbitMQ实战教程(面向Java开发人员)之Spring整合RabbitMQ
Spring整合RabbitMQ(Spring AMQP)Spring AMQP是对AMQP协议的抽象和封装,从官方网站上得知它是由两个项目组成的(spring-amqp和spring-rabbit)。在使用Spring整合RabbitMQ时我们主要关注三个核心接口(MessageListenerContainer、RabbitAdmin以及RabbitTemplate)RabbitAdmin: 用原创 2018-03-13 15:58:27 · 3699 阅读 · 1 评论 -
(四) RabbitMQ实战教程(面向Java开发人员)之@RabbitListener消息消费
使用RabbitListener注解进行消息消费在前一篇博客中我们往MessageListenerContainer设置了MessageListener进行消息的消费,本篇博客将介绍一种更为简单的消息消费方式:使用@RabbitListener注解方式。使用RabbitListener进行消息的消费步骤如下:1.在启动类上添加@EnableRabbit注解2.在Spring容器中托管一个Rabbi原创 2018-03-13 17:48:23 · 17128 阅读 · 0 评论 -
(五) RabbitMQ实战教程(面向Java开发人员)之RabbitMQ异常处理
RabbitMQ异常处理使用JAVA客户端整合RabbitMQ进行的许多操作都会抛出异常,我们可以自定义异常处理器进行处理,比如我们希望在RabbitMQ消费消息失败时记录一条日志,又或者在消息消费失败时发送一则通知等操作本系列博客源码GIT地址:https://github.com/RobertoHuang/RGP-RABBITMQ.gitRabbitMQ Java Client1.创建连接工具类原创 2018-03-18 00:37:33 · 3163 阅读 · 0 评论 -
(六) RabbitMQ实战教程(面向Java开发人员)之RabbitMQ消息的可靠性
消息可靠性在项目中使用RabbitMQ时,我们可能会遇到这样的问题:如一个订单系统当用户付款成功时我们往消息中间件添加一条记录期望消息消费者修改订单状态,但是最终实际订单状态并没有被修改成功。遇到这种问题我们排查的思路如下:1.消息是否已经成功发送到消息中间件2.消息是否有丢失的情况 消息是否已经被消费成功在生产环境下是不容许出现消息投递/消费错误的情况的,因为这可能会对企业产生巨大的损失,本博客原创 2018-03-18 21:56:55 · 3265 阅读 · 0 评论 -
(八) RabbitMQ实战教程(面向Java开发人员)之RabbitMQ实现异步RPC
RabbitMQ实现异步RPC本系列博客源码GIT地址:https://github.com/RobertoHuang/RGP-RABBITMQ.gitRabbitMQ Java Client服务端步骤:1.服务端监听一个队列,监听客户端发送过来的消息2.收到消息之后调用RPC服务得到调用结果3.从消息属性中获取reply_to,correlation_id属性,把调用结果发送给reply_to原创 2018-03-19 20:01:42 · 1744 阅读 · 1 评论 -
(七) RabbitMQ实战教程(面向Java开发人员)之RabbitMQ常用属性详解
RabbitMQ常用属性详解Alternate ExchangeAlternate Exchange简称AE,当消息不能被正确路由时,如果交换机设置了AE则消息会被投递到AE中,如果存在AE链则会按此继续投递,直到消息被正确路由或AE链结束消息被丢弃。通常建议AE的交换机类型为Fanout防止出现路由失败,如果一个交换机指定了AE那么意为着该交换机和AE链都无法被正确路由时才会触发消息返回Rabbi原创 2018-03-19 18:06:48 · 1524 阅读 · 1 评论 -
(九) RabbitMQ实战教程(面向Java开发人员)之SpringBoot整合RabbitMQ
SpringBoot整合RabbitMQ使用SpringBoot整合RabbitMQ非常简单,它极大程度的简化了开发成本,使用SpringBoot整合RabbitMQ需导入如下依赖<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId原创 2018-03-19 20:44:28 · 2219 阅读 · 6 评论