您好我们一直在使用Azure负载均衡器,并将分发模式设置为IP Source。我们当然正在运行多台Web机。
我们在MVC应用程序中使用它。到目前为止,我们还没有发现在Test中维护会话的任何问题。
我的问题是;
通常的做法是使用IP Source来维护粘性会话,以便始终将客户端发送到运行In Proc会话的正确框中吗?
此设置是否存在任何问题或陷阱。
我似乎无法在任何地方找到明确的答案。
答案 0 :(得分:0)
目前的最佳做法是尽可能避免服务器端会话状态;最终通常约占95%的时间。为此,您将在ASP.NET MVC应用程序中使用基于Cookie的身份验证。存储在会话状态中的大多数数据可以在运行时缓存或加载,对系统的影响最小。毕竟,无论如何,原则上网络都是无国籍的。
基于IP源的负载均衡很好;如果需要,使用服务器端会话状态。但是,应用程序确实应该以支持更无状态的方式设计/构建。也就是说,如果任何会话数据都不存在,那么它就会被恰当地加载。你真的想要优雅地处理用户请求而不会抛出异常,如果可能的话,那么用户可以继续完成他们的工作。
通过使用Round-Robin或基于性能的负载平衡,可以使事物更加无状态,从而获得更好的应用程序性能。