RabbitMQ

[转]在Windows上安装RabbitMQ

家住魔仙堡 提交于 2021-01-10 08:00:51
原文链接 翻译:xiezc 下载服务器 描述 下载 Windows系统安装程序(来自 Bintray ) 的RabbitMQ的服务器-3.7.4.exe (签名) Windows系统安装程序(来自 GitHub ) 的RabbitMQ的服务器-3.7.4.exe (签名) 安装RabbitMQ服务 首先,您需要安装 支持的 Windows版本 Erlang 。下载并运行 Erlang for Windows 安装程序。强烈建议使用64位版本。 重要提示: 您 必须 使用管理帐户运行Erlang安装程序,否则RabbitMQ安装程序将不会写入注册表。 然后,运行RabbitMQ安装程序 rabbitmq-server-3.7.4.exe,它会将RabbitMQ安装为Windows服务并使用默认配置启动它。 运行的RabbitMQ服务 自定义的配置运行 该服务将使用其默认设置正常运行。您可能想要 自定义的RabbitMQ环境 或编辑 配置 。 运行的RabbitMQ RabbitMQ的服务自动启动。您可以从开始菜单停止/重新安装/启动RabbitMQ的服务。 管理服务 您可以在开始菜单中找到RabbitMQ快捷方式。 还有一个RabbitMQ命令行工具,该工具在开始菜单的sbin目录中。这是最便捷的 命令行工具 。 升级Erlang VM 如果您有安装包并计划将Erlang

RabbitMQ与SpringBoot整合

流过昼夜 提交于 2021-01-10 05:34:46
RabbitMQ与SpringBoot整合 RabbitMQ SpringBoot 一.RabbitMQ的介绍 二.Direct模式 三.Topic转发模式 四.Fanout Exchange形式 一.RabbitMQ的介绍 RabbitMQ是消息中间件的一种,消息中间件即分布式系统中完成消息的发送和接收的基础软件.这些软件有很多,包括ActiveMQ(apache公司的),RocketMQ(阿里巴巴公司的,现已经转让给apache). 消息中间件的工作过程可以用生产者消费者模型来表示.即,生产者不断的向消息队列发送信息,而消费者从消息队列中消费信息.具体过程如下: 从上图可看出,对于消息队列来说,生产者,消息队列,消费者是最重要的三个概念,生产者发消息到消息队列中去,消费者监听指定的消息队列,并且当消息队列收到消息之后,接收消息队列传来的消息,并且给予相应的处理.消息队列常用于分布式系统之间互相信息的传递. 对于RabbitMQ来说,除了这三个基本模块以外,还添加了一个模块,即交换机(Exchange).它使得生产者和消息队列之间产生了隔离,生产者将消息发送给交换机,而交换机则根据调度策略把相应的消息转发给对应的消息队列.那么RabitMQ的工作流程如下所示: 紧接着说一下交换机.交换机的主要作用是接收相应的消息并且绑定到指定的队列.交换机有四种类型,分别为Direct

Rabbitmq_03 Publish/Subscribe

醉酒当歌 提交于 2021-01-10 00:03:49
  发布订阅模式,一条消息可被多个接收者接收。注意在上一篇的tasks模式中,虽然有多个接收者,但每条消息还是只被一个接收者接收的。 发送者 # !/usr/bin/env python import pika import sys connection = pika.BlockingConnection(pika.ConnectionParameters(host= ' localhost ' )) channel = connection.channel() # 指定了exchange的type channel.exchange_declare(exchange= ' logs ' , exchange_type = ' fanout ' ) message = ' ' .join(sys.argv[1:]) or " info: Hello World! " channel.basic_publish(exchange = ' logs ' , routing_key = '' , body = message) print ( " [x] Sent %r " % message) connection.close() 接收者 # !/usr/bin/env python import pika connection = pika.BlockingConnection

RabbitMQ web 界面访问

与世无争的帅哥 提交于 2021-01-09 11:04:17
web 界面访问地址: http://localhost:15672/ rabbitmq有一个默认的用户名和密码,guest和guest,但为了安全考虑,该用户名和密码只允许本地访问,如果是远程操作的话,需要创建新的用户名和密码; 来源: oschina 链接: https://my.oschina.net/u/4413947/blog/4888050

RabbitMQ学习系列教程三:快速入门

蹲街弑〆低调 提交于 2021-01-09 09:58:18
快速入门:消息的生产者和消费者 生产者的代码步骤: 1:获取到连接的工厂 ConnectionFactory 2:从工厂中获取到一个连接:connection 3:重建一个数据通信的通道,可以发送和接收消息对象:channel 4:通过channel发送消息 5:关闭流 代码编写: public class Procuder { public static void main(String[] args) throws IOException, TimeoutException { //1:创建一个connectioFactory工厂对象,并进行配置 ConnectionFactory connectionFactory = new ConnectionFactory(); //设置ip 端口 vhost等 connectionFactory.setHost("192.168.31.128"); connectionFactory.setPort(5672); connectionFactory.setVirtualHost("/"); //2:通过工厂对象获取到connection对象 Connection connection = connectionFactory.newConnection(); //3:通过connection对象获取到一个消息通信的通道 channel

RabbitMQ学习系列教程三:快速入门

早过忘川 提交于 2021-01-09 09:29:52
RabbitMQ学习系列教程三:快速入门 凯哥java 凯哥java 快速入门:消息的生产者和消费者 生产者的代码步骤: 1:获取到连接的工厂 ConnectionFactory 2:从工厂中获取到一个连接:connection 3:重建一个数据通信的通道,可以发送和接收消息对象:channel 4:通过channel发送消息 5:关闭流 代码编写: public class Procuder { public static void main(String[] args) throws IOException, TimeoutException { //1:创建一个connectioFactory工厂对象,并进行配置 ConnectionFactory connectionFactory = new ConnectionFactory(); //设置ip 端口 vhost等 connectionFactory.setHost("192.168.31.128"); connectionFactory.setPort(5672); connectionFactory.setVirtualHost("/"); //2:通过工厂对象获取到connection对象 Connection connection = connectionFactory.newConnection(); //3

RabbitMQ入门:发布/订阅(Publish/Subscribe)

懵懂的女人 提交于 2021-01-09 07:46:40
在前面的两篇博客中 RabbitMQ入门:Hello RabbitMQ 代码实例 RabbitMQ入门:工作队列(Work Queue) 遇到的实例都是 一个消息只发送给一个消费者(工作者) ,他们的消息模型分别为(P代表生产者,C代表消费者,红色代表队列): 这次我们来看下将 一个消息发送给多个消费者(工作者) ,这种模式一般被称为“发布/订阅”模式。其工作模型为(P代表生产者,X代表Exchange(路由器/交换机),C代表消费者,红色代表队列): 我们发现,工作模型中首次出现路由器,并且每个消费者有单独的队列。生产者生成消息后将其发送给路由器,然后路由器转送到队列,消费者各自到自己的队列里面获取消息进行消费。在实际的应用场景中, 生产者一般不会直接将消息发送给队列,而是发送给路由器进行中转 ,Exchange必须清楚的知道怎么处理收到的消息:是将消息发送到一个特定队列还是多有队列,或者直接废弃消息。这种才符合 RabbitMQ消息模型的核心思想 。 接下来我们详细展开今天的话题: 一、Exchange Exchange在我们的工作模型中首次出现,因此需要详细介绍下。 Exchange分为4种类型: Direct:完全根据key进行投递的,例如,绑定时设置了routing key为”abc”,那么客户端提交的消息,只有设置了key为”abc”的才会投递到队列。 Topic

Spring Boot资料

北慕城南 提交于 2021-01-08 18:32:47
Spring 框架和 Spring Boot 的历史:https://mp.weixin.qq.com/s/iqve1_9kjYCGdXzV1nAQqA 使用 Spring Cloud Sleuth、Elastic Stack 和 Zipkin 做微服务监控:https://mp.weixin.qq.com/s/1iqrFD3wvYWdrdqQ7Y1lCA 基于 Spring Boot 和 Spring Cloud 实现微服务架构:https://mp.weixin.qq.com/s/QrnI9KjWYDY9C6t85dcmJg SpringBoot 应用部署于外置 Tomcat 容器:https://mp.weixin.qq.com/s/y2Dxe-FtOVQWuQKjOHMxwg Spring 整合 Quartz 分布式调度::https://mp.weixin.qq.com/s/2NOMAjHBfKRp9yY2zUSqtw Session 管理之超时设置和强制下线:https://mp.weixin.qq.com/s/xqTGYKW0LcCo5NFlYw2daA RabbitMQ 实战之 Spring Boot 整合 RabbitMQ:https://mp.weixin.qq.com/s/oG-MaHa4BoKjIt_hg9F1gg Mybatis-plus 思维导图,让

Spring Cloud Config 自动刷新所有节点

别说谁变了你拦得住时间么 提交于 2021-01-07 08:05:55
全局刷新 详细参考:《Sprin Cloud 与 Docker 微服务架构实战》p160-9.9.2节 1、使用Spring Cloud Config 客户端时,可以使用 /refresh 端点,舒心配置信息(注意:关闭安全认证,否则无法刷新。management.security. enabled = false )。 2、如果每一个 客户端都要手动的使用 /refresh 端点去刷新配置。很繁琐,也不便于操作,想想如果有100个节点怎么办?当然了你也可以写一个脚本批量操作。 3、其实spring cloud 已经存在这样的解决方案了,我们只需要简单的配置就可以进行全节点的自动刷新。 下面是的使用步骤: 1、添加依赖关系:spring-cloud-starter-bus-amqp 2、在bootstrap.xml配置文件中添加如下配置项目: spring: rabbitmq: host: localhost port: 5672 # 不是web端监控中心的15672端口 username: guest # 默认 password: guest # 默认 3、开始启动:   3.1 首先将配置中心 服务器端启动   3.2 然后将客户端启动,(为了容易测试,可以将客户端的启动端口更改,这个可以启动多台客户端)   3.3 更改远程库中的配置属性   3.4 使用 /bus

Why is my RabbitMQ consumer receiving all messages when I'm specifying the topic I want to receive?

拥有回忆 提交于 2021-01-07 01:45:13
问题 I have different message types on the queue and I'm trying to create multiple C# consumers that each just take a certain type off the queue. Apparently, I'm supposed to be able to specify the routing key, like shown here, to get just those messages: channel.QueueBind(queue: queueName, exchange: "SandboxEventBus", routingKey: "MessageEvent"); No matter why I try, I get all of the messages from the queue and not just the ones with that routing key. What am I missing? This is the class: public