使用轮询方法对NopCommerce进行负载均衡

3

我正在使用nopCommerce 3.6,这里存在一个负载均衡的问题。

我有3台机器来处理流量,并且我使用源IP散列方法。

现在,我想从这种方法切换到轮询法,因为它更好地处理流量,但在nop 3.6中,访客用户的购物车商品是通过cookie设置的,如果访客转发到另一个服务器,购物车中的商品将被删除。

例如:
客人A来到位于服务器X的网站并将商品添加到购物车中。 当点击ADD_TO_CART按钮时,页面会刷新,访客可能会因为轮询法认为服务器Y的流量比服务器X低而前往服务器Y

由于访客在服务器X中添加了商品,并且现在他/她在服务器Y中,购物车将被删除。

我如何在此处管理购物车和会话? 是否有任何解决方案?


这个有帮助吗?https://dev59.com/CnNA5IYBdhLWcg3wPbSe 如果你能让每个用户都保持在同一台机器上,并允许新的进入用户被“轮流”分配,那么这个问题就解决了吗? - Brendan Green
哇,它像魔法一样运行。谢谢。 - user6517192
@学习者,答案中哪一部分起了魔法般的作用? - ClosDesign
@Amir Ziyaee,你解决了这个问题吗? - ClosDesign
2个回答

2
我通过为服务器上的每个应用程序添加相同的机器密钥来解决了我的问题,因此现在轮询已经开始工作了。

0

这意味着Nopcommerce并非为Web Farm设计,它应该将状态存储在外部。您可以使用评论中提到的会话亲和力来解决问题,但如果应用程序的一个实例由于任何原因而关闭,您仍可能会面临此问题。


nopCommerce将客人信息和购物车项目以GUID的形式保存在数据库中,而我的数据库是在所有服务器之间共享的。 - Amir Ziyaee

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接