当前位置: 首页 > 知识库问答 >
问题:

使用Azure队列的nservicebus内部主机

花健
2023-03-14

似乎所有附带nServicebus的示例项目都设置为发送者和宿主是Web角色和辅助角色(并通过角色切入点托管)。

我需要这样做:

Web角色发送消息-

是否可以将本地主机配置为仅使用Azure队列存储(而不是MSMQ)?

我似乎在任何地方都找不到一个记录在案的例子。

共有2个答案

曹兴贤
2023-03-14

我没有使用过nServiceBus,但听起来Azure Service Bus将是您在本地和Azure之间进行混合通信的最佳选择。

您可以使用ServiceBus队列,或者更智能地了解您的模型,并通过主题和订阅进行发布/订阅。

在本例中,您可以让Web角色写入队列/主题,然后让内部部署使用者通过REST(.NET API)从队列/主题读取。(参见下面链接中的示例)

查看他们的MSDN链接:http://msdn.microsoft.com/en-us/library/windowsazure/hh367516.aspx

当然,也许问问乌迪·达汉什么是最好的前进道路也是个好主意:)

长孙燕七
2023-03-14

是的,这是可能的,您只需在初始化总线时指定传输:

   var config = Configure.With()
                 .SpringBuilder()
                 .AzureConfigurationSource() <--- Don't use this when working on premise.
                 .XmlSerializer()
                 .UnicastBus()
                 .LoadMessageHandlers()
                 .AzureQueuesTransport()  <--- Configure Azure Storage Queues
                 .IsTransactional(true)
                 .PurgeOnStartup(false)
                 .InMemorySubscriptionStorage();

对于文档部分,我建议您看看github:https://github.com/NServiceBus/NServiceBus/tree/master/Samples/Azure

请注意,这些示例中的大多数旨在Windows Azure中运行,因此需要使用AzureConfigurationSource。当您在内部运行时,这将不起作用,因为它使用了Role环境中的设置。在内部工作时不要使用AzureConfigurationSource。

 类似资料:
  • 我正在尝试在Azure中设置NServiceBus。在本地开发期间,我使用存储队列,在部署到云中时,我使用Azure服务总线。由于某些原因,当发生错误时,消息不会移动到错误队列。事实上,甚至没有创建错误队列。 在我的网上。配置文件I具有以下配置: 配置NServiceBus时,我调用: 当消息失败时,日志中的最后一个错误总是 对此有什么想法吗?消息传递似乎起作用了,只是错误处理不起作用。

  • 我们有一个使用NServicebus的本地Web应用程序,我们希望将队列移动到Azure(作为完全基于云的更大迁移路径的一部分)。我正试图建立一个POC,但似乎无法让它工作。 我有以下配置: 在我的应用程序中,我将总线配置为: 当我尝试发布到队列时,我得到以下消息: 我有点不知所措,我尝试了在网上找到的几种不同的示例,但我觉得我对azure知识的缺乏阻碍了我的发展。我从这个问题中提取了大部分配置:

  • 我的NServiceBus项目将不再读取Azure队列。 我删除了它们,以为可能有一些消息被卡住了,但现在它将不再创建队列。注意:完全相同的代码和凭证用于自动创建队列。相反,我得到的是: 40400:未找到终结点。。 在微软。ServiceBus.消息传递。sbmp。SbmpMessageSender.微软的EndSend命令(IAsyncResult结果)。ServiceBus.消息传递。sbm

  • 我目前使用NServiceBus和MSMQ进行内部设置。有一个ServiceControl实例,它接收所有错误和审核消息。 现在我正在做一个新的项目,它将使用Azure进行托管,也就是说,我将使用RabbitMQ作为tansport在Azure中托管各种NServiceBusendpoint(可能使用Kubernetes或Service Fabric),我希望Azureendpoint与本地end

  • 我们目前正在使用nservicebus从azure servicebus队列读取消息。 我可以通过代码创建所需的队列,但有人知道我是否可以设置配置文件,在azure上自动创建错误和输入队列吗?

  • 我目前正努力在nServiceBus托管的应用程序上启动并运行一些东西。我有一个第三方正在向其发布消息的azure ServiceBus队列,我希望我的应用程序(目前在本地托管)接收这些消息。 我在谷歌上搜索了如何配置endpoint的答案,但我在有效的配置中没有运气。有人这样做过吗,因为我可以找到如何连接到Azure存储队列但不是服务总线队列的示例。(由于其他原因,我需要Azure servic