Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何用VM'实现ActiveMQ;s正在使用NAS_C#_.net_Vmware_Activemq_Nas - Fatal编程技术网

C# 如何用VM'实现ActiveMQ;s正在使用NAS

C# 如何用VM'实现ActiveMQ;s正在使用NAS,c#,.net,vmware,activemq,nas,C#,.net,Vmware,Activemq,Nas,我们正在将.NET平台从使用MSMQ迁移到ActiveMQ。我们每天通过它发送3000多万条持久性消息,因此吞吐量和容量对我们至关重要。我们的MSMQ相关应用程序的配置方式是,它们首先写入本地/专用队列。然后我们有一个本地服务,将这些消息路由到各自的远程队列进行处理。这确保了初始排队/写入速度很快(是的,我们也可以使用异步排队),并且如果远程服务器不可用,消息不会丢失 我们本来打算对ActiveMQ使用相同的模式,但现在我们决定将VM与NAS存储一起用于大多数应用服务器。这大大降低了每条消息的写

我们正在将.NET平台从使用MSMQ迁移到ActiveMQ。我们每天通过它发送3000多万条持久性消息,因此吞吐量和容量对我们至关重要。我们的MSMQ相关应用程序的配置方式是,它们首先写入本地/专用队列。然后我们有一个本地服务,将这些消息路由到各自的远程队列进行处理。这确保了初始排队/写入速度很快(是的,我们也可以使用异步排队),并且如果远程服务器不可用,消息不会丢失

我们本来打算对ActiveMQ使用相同的模式,但现在我们决定将VM与NAS存储一起用于大多数应用服务器。这大大降低了每条消息的写入性能,因为它将被发送到NAS,我觉得我需要重新考虑我们的排队方法。我想知道什么是使用ActiveMQ的最佳实践,具有持久性、高吞吐量的需求。我应该考虑使用专用的队列服务器(不是VM)吗?但这意味着应用程序的所有写入操作都直接通过网络进行。我如何处理高可用性需求


非常感谢您的建议。

您可以在中部署ActiveMQ实例,并且拓扑可以包括本地实例和远程实例。我已经部署了包含ActiveMQ本地实例的拓扑,以便消息尽可能靠近发送方持久化,然后根据需要将消息转发到远程ActiveMQ实例。对于这种类型的拓扑,我建议将网络连接器配置为不允许从所有目的地转发消息。也就是说,您可能希望使用excludedDestinations属性缩小转发的邮件数量,而不是公开允许转发所有目的地的邮件

就ActiveMQ的高可用性而言,配置正是为此而设计的。根据您的需要,它有三种口味

希望有帮助

布鲁斯