我有一个MVC5网络应用程序,该应用程序使用SignalR从服务器向客户端广播消息,通知用户界面更新等。我发现我遇到了间歇性问题,有时群集中的其中一台服务器不会广播消息发送给任何客户端,当这种情况发生时,该问题将在该应用程序的生命周期内发生(回收应用程序池可以解决该问题)。
就我的基础架构而言,我在AWS上使用Elastic Beanstalk,并将应用程序部署到3个EC2实例,并由应用程序负载平衡器处理流量。由于负载平衡的要求,我还将SignalR Scaleout与Redis一起使用(即https://docs.microsoft.com/en-us/aspnet/signalr/overview/performance/scaleout-with-redis)。
通过测试,似乎只要消息传递有效,它将始终在该特定服务器上应用程序的生命周期内起作用。因此,我感到困惑,不确定下一步要去哪里。任何帮助将不胜感激。