消息中间件
文章平均质量分 91
常用的消息中间件介绍和学习
hry2015
这个作者很懒,什么都没留下…
展开
-
Spring Boot系列十五 spring boot集成RabbitMQ 源码分析
1. 概述在这篇文章Spring Boot系列十三 Spring Boot集成RabbitMQ中,我们介绍了在Spring Boot如何使用RabbitMQ,本篇文章中,从源码中分析Spring Boot如何集成RabbitMQ。2. 入口在spring-boot-autoconfigure.jar中的spring.factories中有如下定义,表示spring启动时,会执行RabbitAutoC原创 2018-03-18 11:32:47 · 9637 阅读 · 4 评论 -
Spring Boot系列十三 Spring Boot集成RabbitMQ
1. 概述之前我有一系列关于RabbitMQ文章介绍了RabbitMQ的用法,本篇我们介绍如何在Spring Boot中集成RabbitMQ。本篇主要内容如下:在Spring boot中消息的发送和接收的两种方式的demo配置使用MessageConverter对消息序列化2. Demo工程公共部分介绍工程名称:rabbitmq需要在我们的工程中的pom.xml引入新jar <!-- spri原创 2018-03-13 20:17:54 · 11732 阅读 · 0 评论 -
中间件系列十一 RabbitMQ之发送者端的消息确认机制
本篇的主要内容如下:1. 通过AMQP事务和publisher Confirm机制保证发送端的消息不丢失2. 演示RabbitMQ中的事务用法,并通过抓包分析协议,最后说明事务的事务的优点和缺点3. 演示RabbitMQ中Publisher Confirm模式的用法,并对以下3种方式通过抓包分析协议并说明其缺点和优点 - 同步方式的发送端的单个Publisher Confirm模式 - 同步方原创 2018-03-12 20:53:01 · 5615 阅读 · 0 评论 -
中间件系列十 RabbitMQ之消费者端的消息确认机制
概述在RabbitMQ中,即使将queue,exchange, message等都设置了持久化之后,还是不能保证100%保证数据不丢失了。为了实现消息不丢失,我们需要从Consumer端和Productor端同时进行处理。本篇文章先介绍Consumer端,在AMPQ-0-9-1中有定义从消费者到RabbitMQ的消息确认机制,通过此机制可以保证消息能够从RabbitMQ正确到达消费者端。本文介绍在R原创 2018-03-01 20:04:17 · 6704 阅读 · 0 评论 -
中间件系列九 RabbmtiMQ 通过wireshark抓包学习AMQP协议
概述本文先在普通场景下生产者发送一条消息,消费者接受此条消息,然后通过wireshark进行抓包,对抓的包进行详细的分析。背景本文测试的环境RabbitMQ的IP地址是10.240.89.147 生产者和消费者的IP地址都是10.240.80.99测试的代码本文的代码和之前博客的代码相似,这里略 相关的代码内容如下: 生产者代码: 消费者代码: 测试代码: 发送端先发送1原创 2018-02-06 20:06:08 · 4213 阅读 · 2 评论 -
中间件系列八 RabbitMQ之实现RPC模式
概述本文使用RabbitMQ实现RPC的调用方式,主要包括如下内容:回调队列(Callback queue)RPC调用相关的消息参数:replyTo和correlationIdRPC调用的客户端和服务端的demo代码本文实现功能说明本文使用RabbitMQ实现RPC的调用方式,我们需要使用新的队列:回调队列(Callback queue)RPC需要涉及消息的两个重要属性:replyTo:原创 2018-01-29 20:14:31 · 5077 阅读 · 2 评论 -
中间件系列七 RabbitMQ之header exchange(头交换机)用法
概述header exchange(头交换机)和主题交换机有点相似,但是不同于主题交换机的路由是基于路由键,头交换机的路由值基于消息的header数据。 主题交换机路由键只有是字符串,而头交换机可以是整型和哈希值 header Exchange类型用的比较少,但还是知道一点好本文实现功能说明:用到的队列说明:队列A:绑定交换机参数是:format=pdf,type=report,x-match=原创 2018-01-28 22:15:03 · 9791 阅读 · 4 评论 -
中间件系列六 RabbitMQ之Topic exchange 用法
概述上篇文章中间件系列五 RabbitMQ之Direct exchange(直连交换机)和路由,我们通过direct exchange(直连交换机)可以根据路由键进行路由,但是还是不够灵活,它只能进行完全匹配。这节我们引入Topic exchange(主题交换机),支持对路由键的模糊匹配实现生产者发送一个消息,这个消息同时被传送给所有队列。但是有时我们不希望所有的消息都被所有队列接收,我们希望可以指原创 2018-01-27 23:11:03 · 6851 阅读 · 0 评论 -
中间件系列五 RabbitMQ之Direct exchange(直连交换机)和路由
概述上篇文章,我们通过Fanout exchange(扇型交换机)实现生产者发送一个消息,这个消息同时被传送给所有队列。但是有时我们不希望所有的消息都被所有队列接收,我们希望可以指定类型为a的消息只能被队列A接收,类型为b的消息只能被队列B,C接收。扇型交换机只能无脑地广播消息给所有的消费者,实质是广播给所有关联的队列。 为了实现这个功能,一种是建立多个交换机,这种方式简单暴力但是不灵活。本节我们原创 2018-01-25 19:37:43 · 13485 阅读 · 4 评论 -
中间件系列四 RabbitMQ之Fanout exchange(扇型交换机)之发布订阅
概述本文通过Fanout exchange(扇型交换机)实现生产者发送一个消息,这个消息同时被传送给所有消费者。Fanout exchange(扇型交换机)的定义见这篇文章 中间件系列三 RabbitMQ之交换机的四种类型和属性本文主要内容:实现上文的定义的场景声明交换机方法的方法和参数说明临时队列的作用和实现绑定(Bindings)的方法和参数说明测试生产者代码主要逻辑在这个类中: P原创 2018-01-24 20:22:07 · 1729 阅读 · 0 评论 -
中间件系列三 RabbitMQ之交换机的四种类型和属性
概述本文介绍RabbitMQ中交换机的内容交换机的作用交换机的类型:Direct exchange(直连交换机)、Fanout exchange(扇型交换机)、Topic exchange(主题交换机)、Headers exchange(头交换机)、默认存在的交换机、Dead Letter Exchange(死信交换机)交换机的属性交换机的作用之前的例子中,我们是通过队列发送和接收消息的,但原创 2018-01-23 19:55:32 · 20478 阅读 · 4 评论 -
中间件系列二 RabbitMQ之消息持久性、确认机制、拒绝、预取数量、分配策略
概述本文主要对消息的特性进行总结,主要包括如下内容:消息的持久性消息确认机制两种方法拒绝消息否定性确认(Negative Acknowledgements)设置预取消息的数量消息分配策略消息的持久性为了保证消息的可靠性,需要对消息进行持久化。 为了保证RabbitMQ在重启、奔溃等异常情况下数据没有丢失,除了对消息本身持久化为,还需要将消息传输经过的队列(queue),交互机进行持久原创 2018-01-16 19:57:36 · 11577 阅读 · 3 评论