.Net网站架构设计(二)Web服务器集群架构
.Net网站架构设计(二)Web服务器集群架构什么是web负载均衡
服务器集群(Cluster)使得多个服务器节点能够协同工作,根据目的的不同,服务器集群可以分为:
一般提到的负载均衡(Load Balance),是指实现负载均衡集群。负载均衡实现了横向扩展(Scale Out),避免纵向的升级(Scale Up)换代。 本文中的web负载均衡,特指能够分担web请求(http,https等)的负载均衡技术。 1、先介绍一下Web负载均衡都有哪些方式 任何的负载均衡技术都要想办法建立某种一对多的映射机制:一个请求的入口映射到多个处理请求的节点,从而实现分而治之(Divide and Conquer)。 这种映射机制使得多个物理存在对外体现为一个虚拟的整体,对服务的请求者屏蔽了内部的结构。 采用不同的机制建立映射关系,可以形成不同的负载均衡技术,常见的包括:
2、介绍一下Nginx配置 2.1首先搭建Web1、Web2、Web3 ....多台IISWeb服务。(可以再不同的机器上建立不同的端口) 例如 Web1:192.168.128.101 :10001 Web2:192.168.128.102 :10002 Web3:192.168.128.103 :10003 ...... 2.2配置Nginx服务器 Nginx server:192.168.128.100 将Nginx解压到任意目录。 进入目录:找到nginx配置
配置如下: upstream pcgroup.com { server 192.168.128.101:10001 weight=1; server 192.168.128.102:10002 weight=2; server 192.168.128.103:10003 weight=1; } 其中:pcgroup.com 是 集群名称
使用cmd命令提示符将目录切换到nginx.exe所在目录。 启动服务输入start nginx.exe。 ok,你现在已经成功配置了负载均衡。 3、IIS集群/.Net共享Session我们先看看IIS的几种Session模式 ASP.NET中Session的状态保持是由web.config文件中的标记下的标记的mode属性来决定的。该属性有四种可能的值:Off、Inproc、StateServer和SQlServer。 <sessionState mode="InProc" cookieless="false" timeout="20" /> 3.1 Inproc,依赖 aps.net,程序重启,或者bin文件内容变动,session丢失 3.2 StateServer:<sessionState mode="StateServer" stateConnectionString="tcpip=myserver:42424" cookieless="false" timeout="20" /> 克服了Inproc的缺点。但是StateServer重启,全部会话丢失。 3.3 用SQL Server进行会话管理 采用SQLserver将会话保存起来。 我们可以采用3.3,3.2来实现session共享。 3.4除IIS的session机制外,我们还可以利用Cookie ,把用户登录信息放在 缓存服务中,现在交常用的缓存服务有Redis,Memached; 我强烈建议使用3.4 使用的方法。
4、Web服务的分布式。 除以上负载均衡外,还可以将web服务的不同功能实现分开部署。 一般讲静态文件,JS,Css,和样式图片专门由一台服务器提供服务。 由文件服务集群专门提供文件资源。
根据业务将web,分为Web接口服务,web页面服务。等,以缓解不同业务功能需求对服务器造成的压力。
|
.Net网站架构设计(二)Web服务器集群架构
最新推荐文章于 2022-10-26 15:14:06 发布
.Net网站架构设计(二)Web服务器集群架构