【EasyNetQ 教程】- 连接RabbitMQ

如果您习惯于处理与SQL Server等关系数据库的连接,那么您可能会发现EasyNetQ处理连接的方式有点奇怪。与关系数据库的通信始终由客户端启动。客户端打开连接,发出SQL命令,在必要时处理结果,然后关闭连接。一般的建议是,您应该在尽可能短的时间内保持打开连接,并将连接池保留给API。

与RabbitMQ等消息代理进行交谈有点不同,因为连接往往会持续应用程序的生命周期。通常,您将打开连接,创建订阅,然后等待任何消息到达打开的连接。EasyNetQ不假设经纪人随时可用。相反,它采用延迟连接方法,在后台线程上轮询给定端点,直到它可以连接。如果服务器因任何原因(可能是网络故障,可能是RabbitMQ服务器本身已被退回)而断开连接,EasyNetQ将恢复轮询端点,直到它可以重新连接。

标准做法是在应用程序的生命周期内创建单个IBus实例。在应用程序关闭时处理它。

与RabbitMQ服务器的延迟连接由IBus接口表示。大多数EasyNetQ操作都是IBus上的方法。您创建一个这样的IBus实例:

var bus = RabbitHutch.CreateBus(“host=myServer;virtualHost=myVirtualHost;username=mike;password=topsecret”);

连接字符串由key = value格式的键/值对组成,每个键都以分号(;)分隔。唯一必填字段是“主机”。可能的连接字符串值为:

  • host(例如host = localhost或host = 192.168.2.56或host = myhost.mydomain.com)此字段是必需的。要指定要连接的端口,可以使用标准格式host:port(例如host = myhost.com:5673)。如果省略端口号,则使用默认的AMQP端口(5672)。要连接到RabbitMQ群集,请指定用逗号分隔的每个群集节点(例如host = myhost1.com,myhost2.com,myhost3.com)。有关详细信息,请参阅群集支持
  • virtualHost(例如virtualHost = myVirtualHost)默认为默认虚拟主机‘/‘
  • username(例如username = mike)默认为‘guest‘(对于非‘localhost‘主机,您需要其他用户而不是‘guest‘)
  • password(例如密码= mysecret)默认为‘来宾‘
  • requestedHeartbeat(例如requestedHeartbeat = 10)默认为10秒。没有心跳,设置为零。
  • prefetchcount(例如prefetchcount = 1)默认值为50.这是在EasyNetQ发送ack之前RabbitMQ将传递的消息数。设置为0表示无限预取(不推荐)。设置为1,以便在消费者群体中实现公平的工作平衡。
  • publisherConfirms(例如publisherConfirms = true)默认为false。这将启用Publisher Confirms
  • persistentMessages(例如persistentMessages = false)默认为true。这决定了在发布消息时如何设置basic.properties中的delivery_mode。false = 1,true = 2。设置为true时,RabbitMQ将消息保留到磁盘,并在服务器重新启动后继续存在。设置为false时,可以预期性能提升。
  • product(例如产品=我真正重要的服务)在EasyNetQ 0.27.3中引入。default value是实例化总线的可执行文件的名称。此处输入的值将显示在RabbitMQ的管理界面中。
  • platform(例如platform = my.fully.qualified.domain.name)在EasyNetQ 0.27.3中引入。default value是运行客户端进程实例化总线的计算机的主机名。此处输入的值将显示在RabbitMQ的管理界面中。
  • timeout(例如超时= 60)默认为10秒。在EasyNetQ 0.17中引入。解析为System.UInt16类型。范围从0到65535.格式以秒为单位。对于无限超时,请使用0.超出值时抛出System.TimeoutException。

要关闭连接,只需像这样处理总线:

bus.Dispose();

这将关闭EasyNetQ使用的连接,渠道,消费者和所有其他资源。

password  [‘pɑ?sw??d]  详细X

基本翻译

n. 密码;口令

网络释义

Password: 密码

Confirm Password: 确认密码

Admin Password: 管理密码

原文地址:https://www.cnblogs.com/wangwust/p/9437316.html

时间: 2024-08-29 12:25:19

【EasyNetQ 教程】- 连接RabbitMQ的相关文章

【EasyNetQ 教程】- 订阅

EasyNetQ订阅者订阅消息类型(消息类的.NET类型).一旦通过调用Subscribe方法设置了对类型的订阅,就会在RabbitMQ代理上创建一个持久队列,并且该类型的任何消息都将被放置在队列中.只要连接,RabbitMQ就会将任何消息从队列发送给用户. 要订阅消息,我们需要为EasyNetQ提供在消息到达时执行的操作.我们通过传递订阅委托来做到这一点: bus.Subscribe<MyMessage>("my_subscription_id", msg => C

使用php-amqplib连接rabbitMQ 学习笔记及总结

1.使用composer安装php-amqplib 在你的项目中添加一个 composer.json文件: { "require": { "php-amqplib/php-amqplib": "2.6.*" } } 只要你已经安装Composer功能,你可以运行以下: $ composer install 已经存在的项目则执行 $ composer update这时在verdor目录就已经下载完毕 具体可以参考官方文档:https://githu

Python3 通过 kombu 连接 RabbitMQ 的基本用法

[RabbitMQ 服务器] # 在 vhosttest 里面有 exchangetest 和 queuetest 通过 rkeytest 绑定 Broker: 192.168.0.xx virtual host: vhosttest Exchange: exchangetest  Queue: queuetest  Routing key: rkeytest [Python 环境] OS: Windows 10 Python: 3.6.3 x64 kombu: 4.1.0 [查看队列状态] #

RabbitMQ学习第一记:用java连接RabbitMQ

1.什么是RabbitMQ MQ(Message Queue):消息队列,是服务端设计的一个可以存储大量消息的队列,并提供客户端操作队列的方法:生产队列(向队列中添加数据).消费队列(从队列中取数据).RabbitMQ就是基于消息队列的一个典型应用.RabbitMQ除了普通的生产消费功能,还有一些高级功能:公平分发 ,轮询分发,路由模式,通配符模式,发布订阅,队列持久化. 2.java实现RabbitMQ的连接 2.1.RabbitMQ客户端jar包 <dependency><group

【EasyNetQ 教程】- 使用SSL连接

EasyNetQ可以通过SSL连接.戈登·库尔特(Gordon Coulter)撰写的这本指南最初是针对一个提出的问题而写的. 首先,您必须仔细按照https://www.rabbitmq.com/ssl.html上的步骤操作.我花了很多时间试图让openssl部分工作,然后花更多的时间让它按照我需要的方式工作而不仅仅是罐装演示. 即使你让EasyNetQ使用SSL,他们在该页面上显示的那些DotNet示例代码可用于测试也是一个很大的帮助.我有一个简单的控制台应用程序,其中包含Rabbit和下面

远程连接RabbitMQ失败

为了避免污染宿主系统环境,于是在虚拟机中搭建了一个linux环境并且按照了rabbitmq-server.然后在远程连接的时候一直连接失败. 官网上面给的例子都是在本地使用系统默认的guest用户连接的.没有给出远程连接的例子,于是阅读文档发现: When the server first starts running, and detects that its database is uninitialised or has been deleted, it initialises a fre

Java连接RabbitMQ之创建连接

依赖包: 1 <dependencies> 2 <dependency> 3 <groupId>junit</groupId> 4 <artifactId>junit</artifactId> 5 <version>4.12</version> 6 <scope>test</scope> 7 </dependency> 8 9 <!-- https://mvnrepos

ps教程连接

教程1:http://www.68ps.com/jc/ps_tp.asp 教程2:http://www.3lian.com/edu/photoshop/

RabbitMQ的安装和使用Python连接RabbitMQ

绪论 这里的环境使用的是Mac OS X系统,所有的配置和使用都是基于Mac OS X 和Python 2.7 以及对应的pika库的. RabbitMQ的安装和配置 安装部分 #brew install rabbitmq 配置和启动 #sudo brew services start rabbitmq #sudo rabbitmqctl add_user admin admin "创建用户(username password)" #sudo rabbitmqctl set_user_