exchange

消息队列: rabbitMQ

谁说胖子不能爱 提交于 2019-11-28 14:09:51
什么是rabbitMQ? rabbitMQ是一款基于AMQP协议的消息中间件,它能够在应用之间提供可靠的消息传输。在易用性,扩展性,高可用性上表现优秀。而且使用消息中间件利于应用之间的解耦,生产者(客户端)无需知道消费者(服务端)的存在。而且两端可以使用不同的语言编写,大大提供了灵活性。 centos7 上安装 rabbitmq 参考链接: https://www.cnblogs.com/liaojie970/p/6138278.html rabbitmq 安装好后,远程连接rabbitmq server的话,需要配置权限 1. 首先在rabbitmq server上创建一个用户 [root@rabbitmq ~]# rabbitmqctl add_user admin 123456 2. 同时还要配置权限,允许从外面访问: [root@rabbitmq ~]# rabbitmqctl set_permissions -p / admin ".*" ".*" ".*" 3. 给用户分配管理员权限(optional) [root@rabbitmq ~]# rabbitmqctl set_user_tags admin administrator 4. 列出所有用户命令: [root@rabbitmq ~]# rabbitmqctl list_users

Exchange 2016 导入导出邮箱

半世苍凉 提交于 2019-11-28 14:08:45
查看导入导出权限 Get-ManagementRoleAssignment -Role "mailbox import export" 如果没有权限的话需要进行授权 New-ManagementRoleAssignment -Role "mailbox import export" -User hanjh 导出邮箱 New-MailboxExportRequest -Mailbox hanjh -FilePath "\192.168.2.10\soft\hanjh.pst" 查看导出状态 Get-MailboxExportRequest -Mailbox hanjh 导入邮箱 New-MailboxImportRequest -Mailbox hanjh -FilePath "\192.168.2.10\soft\hanjh.pst" 删除导入导出请求队列 Get-MailboxImportRequest -Mailbox hanjh -Status Completed | Remove-MailboxImportRequest Get-MailboxExportRequest -Mailbox hanjh -Status Completed | Remove-MailboxExportRequest 来源: 51CTO 作者: JoeyHan 链接: https://blog

消息队列rabbitmq

扶醉桌前 提交于 2019-11-28 13:28:14
AMQP:advanced message queuing protocol 协议模型 publisher consumer broker virtual host exchange message queue binding channel channel: 几乎所有的操作都在channel中进行,客户端可建立多个channel,每个channel代表一个会话任务 message: 由properties和body组成。properties可以对消息进行修饰,比如消息的优先级、延迟等高级特性; body就是消息体的内容 virtual host: 逻辑隔离,一个virtual host可以有若干个exchange和queue,同一个virtual host不能有相同名称 的exchange和queue exchange: 接受消息,根据路由键转发消息到绑定的队列 binding: exchange和queue中的虚拟连接,binding中可以包含routing key routing key: queue: 端口号 amqp : 5672 cluster: 25672 management: 15672 入门demo 生产端 connectionfactory,setHost、port、virtualHost connection connection .

rabbitmq——用户管理

生来就可爱ヽ(ⅴ<●) 提交于 2019-11-28 12:14:10
20元现金领取地址: http://jdb.jiudingcapital.com/phone.html 内部邀请码: C8E245J (不写邀请码,没有现金送) 国内私募机构九鼎控股打造,九鼎投资是在全国股份转让系统挂牌的公众公司,股票代码为430719,为“中国PE第一股”,市值超1000亿元。 --------------------------------------------------------------------------------------------------------------------------------------------- 原文地址: http://my.oschina.net/hncscwc/blog/262246 安装最新版本的rabbitmq(3.3.1),并启用management plugin后,使用默认的账号guest登陆管理控制台,却提示登陆失败。 翻看官方的release文档后,得知由于账号guest具有所有的操作权限,并且又是默认账号,出于安全因素的考虑,guest用户只能通过localhost登陆使用,并建议修改guest用户的密码以及新建其他账号管理使用rabbitmq(该功能是在3.3.0版本引入的)。 虽然可以以比较猥琐的方式:将ebin目录下rabbit.app中loopback_users里的<<

SpringBoot简单使用RabbitMQ消息组件

[亡魂溺海] 提交于 2019-11-28 10:56:11
1 在虚拟机中安装rabbitmq 2 开启rabbitmq 3 页面查看rabbitmq 3 rabbitmq相关知识点讲解 [1] MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。MQ是消费-生产者模型的一个典型的代表,一端往消息队列中不断写入消息,而另一端则可以读取队列中的消息。 1、队列、生产者、消费者 队列:mq内部存储信息的 生产者:产生信息的 消费者:消费消息的 2、Exchange、Binding exchange:交换器,交换按照一定规则与对列绑定,消息才能到queue中 Binding用routing key 3、Exchange Type有四种 RabbitMQ常用的Exchange Type有三种:fanout、direct、topic。headers不常用。 fanout:把所有发送到该Exchange的消息投递到所有与它绑定的队列中。将消息发送与该exchange绑定的所有的对列,不需要比较路由键 direct:把消息投递到那些binding key与routing key完全匹配的队列中。要求路由键与对列名完全匹配 topic:将消息路由到binding key与routing key模式匹配的队列中。用#匹配0或者多个,*匹配一个 4 下面简单实现下图的结果 1 创建direct类型的交换器 2 创建

搭建小型邮件服务器

假如想象 提交于 2019-11-28 09:38:41
公司用的Exchange邮件服务器,最近升级内外网邮件分离。在使用Outlook链接Exchange Server的时候,只能收到公司内部之间的邮件。而JIRA的服务器配置的发送邮箱的服务器是外网的。 于是申请了公司内部邮箱账号来发送JIRA邮件,无奈公司的Exchange Server要求使用NTLM认证,JIRA 3.12封装的JMail版本太低,不支持。虽然配置正确的邮箱账号,但是还是提示客户端认证失败的问题。 P.S JMail 1.5以上的版本就没有问题,JIRA 4.0以上的版本这样配置就OK。 尝试对JIRA发送邮件的JAR文件进行反编译,但是代码进行了混淆,反编译的代码有问题。 于是想到的解决办法是在本地搭建一个简单的邮箱服务器,让JIRA发送邮件到该服务器。然后从该服务器或者用工具将邮件转发到公司内外的邮箱。 一:邮件服务器 免费的简单的邮件服务器很多。有hMailServer, U-MailServer等,后面看到一边关于hMailServer配置的说明,感觉很满足我的需求。于是就下载下来。(以下三个链接都是同一个说明) http://dagai.net/hmailserver/ http://hi.baidu.com/uqian/item/c2e80806f7d1e2eb35990236 http://blog.csdn.net/DreamIllness

RabbitMQ总结

和自甴很熟 提交于 2019-11-28 04:58:25
RabbitMQ的基础概念 ConnectionFactory : ConnectionFactory为Connection的制造工厂 Connection : Connection是RabbitMQ的socket链接,它封装了socket协议相关部分逻辑 Channel : Channel是我们与RabbitMQ打交道的最重要的一个接口,我们大部分的业务操作是在Channel这个接口中完成的,包括定义Queue、定义Exchange、绑定Queue与Exchange、发布消息等 Queue : Queue(队列)是RabbitMQ的内部对象,用于存储消息。RabbitMQ中的消息都只能存储在Queue中,生产者生产消息并最终投递到Queue中,消费者可以从Queue中获取消息并消费 Exchange : 我们感觉生产者将消息投递到Queue中,实际上这在RabbitMQ中这种事情永远都不会发生。实际的情况是,生产者将消息发送到Exchange(交换器),由Exchange将消息路由到一个或多个Queue中(或者丢弃) 消息路由 Binding : RabbitMQ中通过Binding将Exchange与Queue关联起来,这样RabbitMQ就知道如何正确地将消息路由到指定的Queue了 routing key : 生产者在将消息发送给Exchange的时候

5 交换机-direct (路由)

左心房为你撑大大i 提交于 2019-11-28 04:12:30
目录 路由 1、绑定 2、direct 类型exchange 3、多重绑定 4、示例代码 4.1、生产者 4.2、消费者 路由 上文中的 exchange 类型是 fanout 的,该类型的 exchange 会把消息发送给所有绑定到该 exchange 的 queue 现在我们需要添加一个特性,只订阅( subscribe )一部分指定的消息( Message ) 1、绑定 在前面的例子中,我们已经在创建绑定。您可能会记得以下代码: // 绑定消息路由和消息队列 // 第一个参数:队列名称 // 第二个参数:交换器名称 channel.queueBind(queueName, EXCHANGE_NAME, ""); 绑定( bindings )是交换( exchange )和队列( queue )之间的关系。这可以简单地理解为:队列对来自此交换的消息感兴趣; Binding 可以使用一个已经存在的 routingKey 参数。为了避免和 basic_publish 参数混淆,我们称之为 binding key 。下边就是我们怎么用key来创建一个 binding ; // 绑定消息路由和消息队列 // 第一个参数:队列名称 // 第二个参数:交换器名称 // 第三个参数:路由键 channel.queueBind(queueName, EXCHANGE_NAME, "");

4 交换机-fanout(订阅发布模式)

无人久伴 提交于 2019-11-28 04:08:31
目录 订阅发布模式 1、交换器(Exchange) 1.1、创建交换器 1.2 、推送消息到交换器 2、临时队列 3、绑定(bingdings) 5、代码例子 5.1、生产者代码示例 5.2、消费者代码示例 订阅发布模式 1、交换器(Exchange) 在 Work Queue 背后,其实是 rabbitMQ 把每条任务消息只发给一个消费者。本篇中我们将要研究如何把一条消息推送给多个消费者,这种模式被称为 publish/subscribe (发布/订阅) RabbitMQ 的消息发送模型核心思想是生产者不直接把消息发送到消息队列中。事实上,生产者不知道自己的消息将会被缓存到哪个队列中。 其实生产者者可以把消息发送到 exchange (消息交换机)上。 exchange 是一个很简单的事情,它一边接收生产者的消息,另一边再把消息推送到消息队列中。Exchange必须知道在它接收到一条消息应该怎么去处理。应该把这条消息推送到指定的消息队列中?还是把消息推送到所有的队列中?或是把消息丢掉?这些规则都可以用 exchange 类型来定义 1.1、创建交换器 有一些可用的 exchange 类型: direct , topic , headers 和 fanout 。这里我们主要看最后一个: fanout ,这里我们创建一个名字为 logs 、类型为 fanout 的 exchange

Spring Boot----SpringBoot 整合 RabbiMQ

纵饮孤独 提交于 2019-11-28 00:04:52
首先了解我的这篇博客: https://www.cnblogs.com/yanxiaoge/p/11379715.html (下面的基于这篇博客中的配置) 1、创建项目 自动配置 1、RabbitAutoConfiguration 2、有自动配置了连接工厂ConnectionFactory; 3、RabbitProperties 封装了RabbitMQ的配置 4、RabbitTemplate:给RabbitMQ发送和接受消息; 5、AmqpAdmin:RabbitMQ系统管理功能组件 2、使用 2.1 application.properties #host、port、virtual-host默认值都是下面配置的(可以不写) spring.rabbitmq.host=localhost spring.rabbitmq.username=guest spring.rabbitmq.password=guest spring.rabbitmq.port=5672 spring.rabbitmq.virtual-host=/ 2.2 测试消息的发送和接受 @Autowired public RabbitTemplate rabbitTemplate; @Test public void contextLoads() { //Message需要自己构造一个;定义消息体内容和消息头 /