あまみや ゆうこ » 2016 » 10

搭建分布式 ASP.NET Core Web

单台Web处理用户请求的能力是有限的,因此我们可能会需要搭建分布式的Web服务器。

当前市面上,可能用的比较多的是会话保持,这种模式下,开发者只需将先前开发好的、不支持会话共享的程序部署在多台服务器上,负载均衡提供商会要求开发者设置保持时间,就可以完成部署。但其缺点是仅仅将用户分配到不同节点,不是将请求分配到不同节点,粒度过大,会导致负载不够均衡。

下面我们从各个角度介绍一下如何让你的ASP.NET Core网站系统摆脱会话保持

Session Sharing

分布式Web的第一大棘手问题就是登录状态。ASP.NET Core中默认是将Session ID进行保护的,因此这些数据是被加密过的,并以xml文件形式存在保护区,因此我们要将这个文件共享出来。

因此我们需要实现Session Sharing,对于不同平台,我们有不同的做法(在ASP.NET Core 1.1.0发布前,我们只能通过文件系统进行共享):

Windows

在Windows中,我们使用UNC路径来实现共享。首先建立一个文件夹,在共享中赋予Guest用户读写权限。

更多内容 »

Published on 10/10/2016 11:49:03 AM