amqp

【RabbitMQ】2、心得总结,资料汇总

ⅰ亾dé卋堺 提交于 2020-04-27 22:31:25
Spring AMQP中文文档 http://ju.outofmemory.cn/entry/320538 云栖社区 https://yq.aliyun.com/search?q=rabbitmq&type=ARTICLE RabbitMQ-JAVA常见报错信息 , https://yq.aliyun.com/articles/175024 CentOS7环境下安装RabbitMQ, http://t.cn/RCtrQey RabbitMQ-Java版本生产与消费, http://t.cn/RCtd249 RabbitMQ:四种ExChange用法, http://t.cn/RCxR801 RabbitMQ之TTL(Time-To-Live 过期时间) RabbitMQ之死信队列 RabbitMQ之队列优先级 (优先级队列,队列的未被消费的消息,按照优先级高级先后被消费) RabbitMQ如何实现延迟队列? CSDN 消息中间件(Kafka/RabbitMQ)收录集 高可用集群 http://www.nongziyi.xin/?p=227 https://blog.csdn.net/woogeyu/article/details/51119101 https://www.linuxidc.com/Linux/2017-10/147708.htm?hmsr=toutiao.io

消息中间件——RabbitMQ

蓝咒 提交于 2020-04-27 22:30:51
RabbitMQ介绍 RabbitMQ 是实现 AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。RabbitMQ主要是为了实现系统之间的双向解耦而实现的。当生产者大量产生数据时,消费者无法快速消费,那么需要一个中间层。保存这个数据。 AMQP ,即 Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。 RabbitMQ 是一个开源的 AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。 Rabbitmq 安装 http://www.rabbitmq.com 先安装 erlang环境 直接下一步下一步安装完成 配置系统环境: 新建一个系统变量:名称 ERLANG_HOME,值为本机中erlang的安装目录。 然后再在用户变量

rabbitmq消息中间件读后感

寵の児 提交于 2020-04-27 22:07:41
四.RabbitMQ安装与使用 1.安装(rpm方式) 下载对应版本的Erlang和RabbitMQ。 安装erlang: 安装socat密钥: 要先安装socat再安装rabbitmq,不然会报错。 安装rabbitmq: 2.修改配置文件 vim /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.5/ebin/rabbit.app 默认端口号5672 修改loopback_users:(保留guest也可) 3.RabbitMq基本命令 关于服务的操作: 服务启动:rabbitmqctl start_app / rabbitmq-server start & 这里有用到主机名,可以通过vim /etc/hostname来配置。 可以看到rabbitmq已经启动: 查看服务是否启动 lsof -i:5672 服务停止:rabbitmqctl stop_app / rabbitmq-server stop 服务重启:service rabbitmq-server restart 节点状态:rabbitmqctl status 启动管理控制台: 管理插件:rabbitmq-plugins enable rabbitmq_management 控制台访问地址:http://192.168.58.129:15672 如果既修改过配置文件,又开启了插件

SpringBoot28 RabbitMQ知识点、Docker下载RabbitMQ、SpringBoot整合RabbtiMQ

守給你的承諾、 提交于 2020-04-27 21:46:56
1 RabbitMQ知识点   1.1 整体架构图     消息生产者将消息 投递到 exchange中,exchange会以某种路由机制将生产者投递的消息 路由到 queue中,消息消费者再从queue中 获取 消息进行 消费 。   1.2 核心概念     1.2.1 server       又称Broker,接收客户端的连接,实现AMQP实体服务     1.2.2 Connection       连接,应用服务与Broker的网络连接(PS:和JDBC中的connection作用相似)     1.2.3 Channel       网络信道,几乎所有的操作都在Channel中进行,Channel是进行消息读写的通道。客户端可建立多个Channel,每个Channel代表一个会话。【PS:相当于JDBC的Statement】     1.2.4 Message       消息,服务器和应用程序之间传递的数据,由Properties和Body组成;Properties可以对消息进行修饰,比如消息的优先级、迟延等高级特性;Body则就是消息的内容。     1.2.5 Virtual Host       虚拟地址,用于进行逻辑隔离的最上层的消息路由。 一个 Virtual Host 里面 可以有 若干个Exchange 和 Queue ,同一个 Virtual

安装RabbitMq,写程序发送接收消息

南笙酒味 提交于 2020-04-27 20:43:24
1. 安装Erlang和RabbitMq 在安装RabbitMq之前需要安装的Erlang(esl-erlang_22.0_windows_amd64.exe): https://pan.baidu.com/s/1_ExgTzvCRN0byIYXgiA16g 需要安装的RabbitMq(rabbitmq-server-3.7.18.exe): https://pan.baidu.com/s/10UuuukYibnpmm16RtUZw3Q 安装时这两个软件没有特殊设置,一路同意接受就行了。 2. 开启RabbitMq的管理 安装完成后,找到RaabitMq的sbin所在的目录,在我的Win10系统上,这个路径是C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.18\sbin,然后打开控制台,进入这个目录. 然后输入>rabbitmq-plugins enable rabbitmq_management C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.18\sbin> rabbitmq- plugins enable rabbitmq_management Enabling plugins on node rabbit@DESKTOP - 8IDBHPK: rabbitmq

2019年rabbitMQ面试高频题(java)

强颜欢笑 提交于 2020-04-27 20:37:14
前言 2019即将过去,伴随我们即将迎来的又是新的一年,过完春节,马上又要迎来新的金三银四面试季。那么,作为程序猿的你,是否真的有所准备的呢,亦或是安于本职工作,继续做好手头上的事情。 当然,不论选择如何,假如你真的准备在之后的金三银四跳槽的话,那么作为一个Java工程师,就不可不看了。如何在几个月的时间里,快速的为即将到来的面试进行充分的准备呢? 1. RabbitMQ 的使用场景有哪些? 抢购活动,削峰填谷,防止系统崩塌。 延迟信息处理,比如 10 分钟之后给下单未付款的用户发送邮件提醒。 解耦系统,对于新增的功能可以单独写模块扩展,比如用户确认评价之后,新增了给用户返积分的功能,这个时候不用在业务代码里添加新增积分的功能,只需要把新增积分的接口订阅确认评价的消息队列即可,后面再添加任何功能只需要订阅对应的消息队列即可。 2. RabbitMQ 有哪些重要的角色? RabbitMQ 中重要的角色有:生产者、消费者和代理: 生产者: 消息的创建者,负责创建和推送数据到消息服务器; 消费者: 消息的接收方,用于处理数据和确认消息; 代理: 就是 RabbitMQ 本身,用于扮演“快递”的角色,本身不生产消息,只是扮演“快递”的角色。 3. RabbitMQ 有哪些重要的组件? ConnectionFactory(连接管理器):应用程序与Rabbit之间建立连接的管理器

1.RabbitMq 基础入门

馋奶兔 提交于 2020-04-27 20:30:53
0.介绍 ​   RabbitMQ是一个消息代理:它接受并转发消息。你可以把它当成一个邮局:当你想邮寄信件的时候,你会把信件放在投递箱中,并确信邮递员最终会将信件送到收件人的手里。在这个例子中,RabbitMQ就相当与投递箱、邮局和邮递员。   RabbitMQ与邮局的区别在于:RabbitMQ并不处理纸质信件,而是接受、存储并转发二进制数据---消息。   谈到RabbitMQ的消息,通常有几个术语: 生产者:是指发送消息的程序 队列:相当于RabbitMQ的投递箱。尽管消息在RabbitMQ和你的应用之间传递,但是消息仅仅会在队列之中存储。队列只能存储在内存或磁盘中,本质上是一个大的消息缓冲区。不同的生产者可以发送消息到同一个对队列,不同的消费者也可以从同一个队列中获取消息。 消费者:等待接受消息的程序。   注意,生产者、消费者以及RabbitMQ并不一定要在同一个主机上,在绝大部分的应用中它们都不在同一主机上。 RabbitMQ 一般工作流程 ​   生产者和RabbitMQ服务器建立连接和通道,声明路由器,同时为消息设置路由键,这样,所有的消息就会以特定的路由键发给路由器,具体路由器会发送到哪个或哪几个队列,生产者在大部分场景中都不知道。(1个路由器,但不同的消息可以有不同的路由键)。   消费者和RabbitMQ服务器建立连接和通道,然后声明队列,声明路由器

SpringBoot系列八:SpringBoot整合消息服务(SpringBoot 整合 ActiveMQ、SpringBoot 整合 RabbitMQ、SpringBoot 整合 Kafka)

谁都会走 提交于 2020-04-27 20:21:25
声明:本文来源于MLDN培训视频的课堂笔记,写在这里只是为了方便查阅。 1、概念:SpringBoot 整合消息服务 2、具体内容 对于异步消息组件在实际的应用之中会有两类: · JMS:代表作就是 ActiveMQ,但是其性能不高,因为其是用 java 程序实现的; · AMQP:直接利用协议实现的消息组件,其大众代表作:RabbitMQ,高性能代表作:Kafka。 2.1、SpringBoot 整合 ActiveMQ 1、 如果要想在项目之中去使用 ActiveMQ 组件,则应该为项目添加依赖支持库,修改 pom.xml 配置文件: < dependency > < groupId > org.springframework.boot </ groupId > < artifactId > spring-boot-starter-activemq </ artifactId > </ dependency > 2、 修改 application.yml 配置文件进行 activemq 的配置; server: port: 80 spring: messages: basename: i18n/Messages,i18n/Pages jms: pub-sub-domain: false # 配置消息的类型,如果是true则表示为topic消息,如果为false表示Queue消息

Spring Boot 2.X

╄→гoц情女王★ 提交于 2020-04-27 19:55:29
文章目录 Spring Boot 2.X - Spring Boot整合AMQP之RabbitMQ RabbitMQ简介 引入依赖 编写配置 编写接口 启用Rabbit注解 消息监听 消息测试 Spring Boot 2.X - Spring Boot整合AMQP之RabbitMQ Spring Boot 2 整合RabbitMQ案例。 RabbitMQ简介 简介 RabbitMQ是一个由erlang开发的AMQP(Advanved Message Queue Protocol)的开源实现。 核心概念 Message 消息,消息是不具名的,它由消息头和消息体组成。消息体是不透明的,而消息头则由一系列的可选属性组 成,这些属性包括routing-key(路由键)、 priority(相对于其他消息的优先权)、 delivery-mode(指出 该消息可能需要持久性存储)等。 Publisher 消息的生产者,也是一个向交换器发布消息的客户端应用程序。 Exchange 交换器,用来接收生产者发送的消息并将这些消息路由给服务器中的队列。 Exchange有4种类型: direct(默认), fanout, topic, 和headers,不同类型的Exchange转发消息的策略有 所区别。 Queue 消息队列,用来保存消息直到发送给消费者。它是消息的容器,也是消息的终点。一个消息

1.RabbitMQ工作模型与基本原理

*爱你&永不变心* 提交于 2020-04-27 19:31:53
1、了解 MQ 的本质和 RabbitMQ 的特性; 2、掌握 RabbitMQ 的 Java API 编程和 Spring 集成 RabbitMQ 1. MQ 了解 1.1. 消息队列简介 1.1.1.MQ 的诞生历程 我们要去用 MQ,先来了解一下 MQ 是怎么诞生的,这样对于它解决了什么问题理 解会更加深刻。世界上第一个 MQ 叫什么名字,是什么时候诞生的? 1983 年的时候,有个在 MIT 工作的印度小伙突发奇想,以前我们的软件相互通信, 都是点对点的,而且要实现相同的协议,能不能有一种专门用来通信的中间件,就像主 板(BUS)一样,把不同的软件集成起来呢?于是他搞了一家公司(Teknekron),开发 了世界上第一个消息队列软件 The Information Bus(TIB)。最开始的时候,它被高盛这 些公司用在金融交易里面。因为 TIB 实现了发布订阅(Publish/Subscribe)模型,信息的 生产者和消费者可以完全解耦,这个特性引起了电信行业特别是新闻机构的注意。1994 年路透社收购了 Teknekron。 TIB 的成功马上引起了业界大佬 IBM 的注意,他们研发了自己的 IBM MQ(IBM Wesphere)。后面微软也加入了这场战斗,研发了 MSMQ。这个时候,每个厂商的产 品是孤立的,大家都有自己的技术壁垒。比如一个应用订阅了 IBM MQ