Nous sommes en train de déplacer notre plate-forme .NET de l'utilisation de MSMQ vers ActiveMQ. Nous y pompons plus de 30 millions de messages persistants par jour. Le débit et la capacité sont donc essentiels pour nous. La façon dont nos applications dépendantes de MSMQ sont configurées, est d'abord d'écrire dans les files d'attente locales/privées. Ensuite, nous avons un service local qui achemine ces messages vers leurs files d'attente distantes respectives pour traitement. Cela garantit que l'écriture initiale de la mise en file d'attente/écriture est rapide (oui, nous pouvons également utiliser la mise en file d'attente asynchrone), et les messages ne sont pas perdus si les serveurs distants sont indisponibles. Nous allions utiliser le même paradigme pour ActiveMQ, mais maintenant nous avons décidé d'utiliser des VM avec stockage NAS pour la plupart de nos serveurs d'applications. Cela réduit considérablement les performances d'écriture de chaque message, car il va NAS, et je pense que je dois repenser notre approche de la mise en file d'attente. J'aimerais savoir quelle est la meilleure pratique pour utiliser ActiveMQ, avec des besoins persistants et à haut débit. Dois-je envisager d'utiliser des serveurs de file d'attente dédiés (qui ne sont pas des machines virtuelles)? Mais cela signifierait que toutes les écritures de l'application passent directement sur le réseau. Comment gérer les exigences de haute disponibilité?Comment implémenter ActiveMQ avec les machines virtuelles utilisant le NAS
Toutes les suggestions sont appréciées.